假如我们现在有一个数组长这样
[1, [2, [3, [4, [5, 6]]]]]
那我们如何让他扁平化,即转化成
[1,2,3,4,5,6]
- 方案一:利用JS提供的API-->flat
let arr= [1, [2, [3, [4, [5, 6]]]]];
arr.flat(Infinity)
- 方案二:利用reduce方法
let arr= [1, [2, [3, [4, [5, 6]]]]];
function flat(params){
return params.reduce(function(newArr, itemArr){
return newArr.concat(Array.isArray(itemArr)? flat(itemArr): itemArr)
}, [])
}
flat(arr);
- 方案三:利用join和split
let arr= [1, [2, [3, [4, [5, 6]]]]];
function flat(params){
return arr.join(',').split(',').map(item => parseInt(item))
}
flat(arr)
网友评论