damiss / blog

0 stars 0 forks source link

数组扁平化~ #4

Open damiss opened 6 years ago

damiss commented 6 years ago
var arr = [1, [2, [3, 4]]];

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

console.log(flatten(arr))
 [1, 2, 3, 4]

ES6 写法 ...arr 扩展运算符一次只能展开一个嵌套 arr.som 中返回 arr 内的元素是否为数组, 如果是数组,则展开 while 判断 循环多次展开 最后输出[1,2,3,4]