其他分享
首页 > 其他分享> > 前端面试之数组打平

前端面试之数组打平

作者:互联网

let arr = [1, 2, [3, 4, 5, [6, 7, 8], 9], 10, [11, 12]];

flatten1 = arr => arr.flat(Infinity)

flatten2 = arr => arr.toString().split(',').map(item => Number(item))


flatten3 = arr => {
    while (arr.some(Array.isArray)) {
        arr = [].concat(...arr);
    }
    return arr
}

flatten4 = arr => {
    return arr.reduce((result, item) => {
        return result.concat(Array.isArray(item) ? flatten4(item) : item)
    }, [])
}

 

标签:isArray,arr,return,item,打平,flatten4,面试,result,数组
来源: https://www.cnblogs.com/flamestudio/p/12272202.html