数组降维的三种方法

152 阅读1分钟
    // 多维数组的降维 flat(Infinity)
    let arr = [1, [2, [3, [4, '小白',{name: 'xiaobai'}]]]]
    let foo = arr.flat(Infinity)
    console.log(arr); 
    console.log(foo);

    arr += ''
    console.log(arr);
    arr = arr.split(',')
    console.log(arr);

    let bar = (arr) => {
        return arr.reduce((unm, item) => {
            // console.log(unm);
            // console.log(item);
            // 判断如果 item 为数组那么合并的同时再走一遍这个函数, 如果不是那么就直接合并数组
            return Array.isArray(item) ? unm.concat(bar(item)): unm.concat(item)
        }, [])
    }
    bar(arr)
    console.log(bar(arr));