数组操作-每天复习一点点

130 阅读1分钟

数组操作—数组拉平

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]



未完待续。。。。