每年都有一些新的属性进入ECMA262标准,今年发布的ECMAScript2019/ES10同样也有很多新的特性,本文将会挑选一些普通开发者会用到的新属性进行深入的解读。
Array.prototype.flat()
The flat() method creates a new array with all sub-array elements concatenated into it recursively up to the specified depth. – MDN
简单来说flat这个函数就是按照一定的深度depth将一个深层次嵌套的数组拍扁, 例子:
1 | const nestedArr = [1, 2, [3, 4, [5, 6, [7, [8], 9]]], 10] |
由上面的例子可以看出flat会按照指定的深度depth将一个数组扁平化,如果需要将数组完全拍扁变成一维数组,则指定depth为无限大,即是Infinity,相反如果不指定深度,其默认值是1。