js 数组合并的方法

198 阅读1分钟

formatEs6ConcatArr () { let arr1 = ['a', 'b'] let arr2 = ['c', 'c'] let arr3 = ['d', 'e'] // ES5 的合并数组 // arr1.concat(arr2, arr3) // [ 'a', 'b', 'c', 'd', 'e' ] // ES6 的合并数组 let arr4 = [...arr1, ...arr2, ...arr3] console.log('arr4=', arr4) // [ 'a', 'b', 'c', 'd', 'e' ] // 不过,这两种方法都是浅拷贝,使用的时候需要注意。 const a1 = [{foo: 1}] const a2 = [{bar: 2}] const a3 = a1.concat(a2) const a4 = [...a1, ...a2] console.log(a3[0] === a1[0])// true console.log(a4[0] === a1[0])// true

} // 上面代码中,a3和a4是用两种不同方法合并而成的新数组, //但是它们的成员都是对原数组成员的引用,这就是浅拷贝。如果修改了原数组的成员,会同步反映到新数组。