js 扁平多维数组

2019-08-29  本文已影响0人  Thomas赵骐

1 递归写法

function flatten(arr){
    var res = [];
    for(var i=0;i<arr.length;i++){
        if(Array.isArray(arr[i])){
            res = res.concat(flatten(arr[i]));
        }else{
            res.push(arr[i]);
        }
    }
    return res;
}

2 es6 语法

let array = [1,[2,[3,[4,[5,[6,[7,[8,[9]]]]]]]]]
[1, [2, [3]]].flat(Infinity) // flat()方法的参数接收一个整数,表示想要拉平的层数,Infinity表示无限层

3 最简单的办法

let array = [1,[2,[3,[4,[5,[6,[7,[8,[9]]]]]]]]]
let flatArr = arr.join().split(','); // ["1", "2", "3", "4", "5", "6", "7", "8", "9"]
上一篇下一篇

猜你喜欢

热点阅读