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]