ES6新增数组的一些思考和使用
阅读原文时间:2023年07月08日阅读:3

伪数组转换为数组的两种方法

Array.from()把一个伪数组转换为一个真正的数组

伪数组:有下标和length,但是不能使用数组方法

   let lis = document.querySelectorAll('.list li')
   lis.map(item => { return item })//lis.map is not a function

//通过form()方法转换之后就可以使用Array的方法
 let lis = document.querySelectorAll('.list li')
 lis = Array.from(lis)
 let rec = lis.map(item => { return item })//lis.map is not a function
        console.log(rec);

通过…展开运算符也可以转换为真正的数组[…lis]

数组扁平化

flat()

 let arr = [1, 2, 3, [3, 4, 5, [7, 8, 9]]]
 //arr.flat(层数)
 console.log(arr.flat(Infinity));//1,2,3,4,5,6,7,8,9

flatMap()

Array arr.flatMap(function callback(currentValue[, index[, array]]) {

// 返回新数组的元素

}[, thisArg]) 方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。它与 map 和 深度值1的 flat 几乎相同,但 flatMap 通常在合并成一种方法的效率稍微高一些

参数:

callback

可以生成一个新数组中的元素的函数,可以传入三个参数:

currentValue

当前正在数组中处理的元素

index可选

可选的。数组中正在处理的当前元素的索引。

array可选

可选的。被调用的 map 数组

可选参数:

thisArg

执行 callback 函数时 使用的this 值

返回值:

一个包含将数组与子数组中所有元素的新数组

除了indexof()之外的检索方法

arr.includes(valueToFind[, fromIndex]) 判断数组中是否包含一个指定的值

参数:

valueToFind 需要查找的值

可选参数:

从 fromIndex 处开始向后查找

返回值:

true 代表数组中包含 valueToFind, false 代表数组中不包含 fromIndex

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章