数组常用方法

139 阅读1分钟

数组的方法

遍历数组主要方法

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个元素的数组。

链接:juejin.cn/post/684490…