const arr = [1,[2,3],[4,5]]
const flatArr = [].concat(...arr)
console.log(flatArr)//[1, 2, 3, 4, 5]

ps:concat还可用于数组复制,并且复制后的数组变化不会影响原数组;

var arr = [1,1,1,1,1,1];
var copyArr = [].concat(arr);
copyArr = copyArr.map(item=>item*2);
console.log(arr,copyArr);
// [1, 1, 1, 1, 1, 1]    [2, 2, 2, 2, 2, 2]

扁平化任意维度的数组:

function flattenArray(arr){
    const flatArr = [].concat(...arr)
    return flatArr.some(item=>Array.isArray(item))?flattenArray(flatArr):flatArr
}
const arr = [1,[2,3],[4,5,[6,7,[8,9]]]]
console.log(flattenArray(arr))//[1, 2, 3, 4, 5, 6, 7, 8, 9]

 

posted on 2021-07-08 16:16  巍MG  阅读(56)  评论(0编辑  收藏  举报