ES6对数组的扩展非常多,本文只介绍自己感兴趣的若干,需要完整的请阅读文末的原文。
flat()
数组的成员可能还是数组,Array.prototype.flat()可以将嵌套的数组“拉平”,变成一维的数组。该方法返回一个新的数组。
[1, 2, [3, 4]].flat() // [1, 2, 3, 4]
flat()默认只“拉平”一层,它的参数代表想要拉平的层数,默认为1。
[1, 2, [3, [4, 5]]].flat()
// [1, 2, 3, [4, 5]]
[1, 2, [3, [4, 5]]].flat(2)
// [1, 2, 3, 4, 5]
如果不管有多少层,都要转成一维数组,可以用Infinity
关键字作为参数。
[1, [2, [3, 4]]].flat(Infinity)
// [1, 2, 3, 4]
注:本文原始内容来自 ES6标准入门,有修改。