数组的方法
遍历数组主要方法
foreach
map
有特殊功能主要方法
过滤 filter
累加器 reduce
检索数组元素的主要方法
findIndex
find
indexOf
lastIndexOf
every
some
includes
拼接、附加和反转数组
concat
join
排序、倒置
sort
reverse
添加、删除和追加值
shift
unshift
push
pop
splice
fill填充
如果想创建一个指定数量的null元素数组,可以这样做:
[...Array(5)].fill(null) // -> [null, null, null, null, null]
扁平化
flat
flat方法通过可指定深度值来减少嵌套的深度。
[1, 2, 3, [4, 5, [6, 7, [8]]]].flat(1); // -> [1, 2, 3, 4, 5, [6, 7, [8]]]
复制代码
因为展开的深度值是1,所以只有第一级数组是被扁平,其余的保持不变。
[1, 2, 3, [4, 5]].flat(1) // -> [1, 2, 3, 4, 5]
flatMap
flatMap() 方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。它与 map 和 深度值1的 flat 几乎相同,但 flatMap 通常在合并成一种方法的效率稍微高一些。
在上面的map方法中,对于每个值,只返回一个值。这样,一个包含三个元素的数组在映射之后仍然有三个元素。使用flatMap,在提供的回调函数中,可以返回一个数组,这个数组稍后将被扁平。
[1, 2, 3].flatMap(value => [value, value, value]); // [1, 1, 1, 2, 2, 2, 3, 3, 3]
复制代码
每个返回的数组都是扁平的,我们得到的不是一个嵌套了三个数组的数组,而是一个包含9个元素的数组。