手写js-简易flat

45 阅读1分钟

思路

使用reduce去迭代数组,不断去扩展数组,同时根据当前值是否为数组来进行遍历。

实现

function myFlat(arr) {
    return arr.reduce((pre, cur) => {
        return pre.concat(Array.isArray(cur) ? myFlat(cur) : cur)
    }, [])
}
console.log(myFlat([1,2,3,4,[[[2]]]])); // [1,2,3,4,2]