多维度数组拉平到一维
[1, [2,3], [4,[5, [6]]]]
[ 1, 2, 3, 4, 5, 6 ]
- 利用reduce和递归实现
let arr = [1, [2,3], [4,[5, [6]]]]
function flatten (arr) {
return arr.reduce((pre, cur) => pre.concat(Array.isArray(cur) ? flatten(cur) : cur), [])
}
flatten(arr)
- js原生方法
arr.flat(Infinity)
第二个参数是多维数组的维度,可以设置为Infinity,可以对无限多维度数组拉平, 设置为2时,代表将arr拉平2层
譬如arr = [ 1, [ 2, 3 ], [4, [ 5, [ 6 ] ] ] ]
那么arr.flat(2) 就是[ 1, 2, 3, 4, 5, [ 6 ] ]
本文介绍如何使用JavaScript的reduce和递归函数flatten()将复杂多维数组 [1,[2,3],[4,[5,[6]]]]扁平化为一维数组 [1,2,3,4,5,6],并探讨了原生方法flat()的用法和不同参数设置。
276

被折叠的 条评论
为什么被折叠?



