数组操作—数组拉平
let arr = [1,[2,[3,[4,5]]]]
1.递归
let result = []
let fn = function(arr) {
arr.forEach(item => {
if(Array.isArray(item)) fn(item)
else result.push(item)
})
}
fn(arr)
console.log(result) // [1,2,3,4,5]
2.reduce
let fn = function(arr) {
return arr.reduce((pre,item) => pre.concat(Array.isArray(item) ? fn(item) : item),[])
}
console.log(fn(arr)) // [1,2,3,4,5]
3.flat
let result = arr.flat(Infinity)
console.log(result) // [1,2,3,4,5]
未完待续。。。。