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' ]
在做前端的过程中,后台做不到前端需要什么数据就给什么样的接口,很多时候一个接口,前端需要多种方式组合使用在各个需求中,所以组合对象,组合数组在所难免,js会有原生方法,同样es5,es6都会有,级别越高,数组数据的方式越简单。
1、Array.prototype.concat.call(arr1,arr2,arr3)原生组合数组
2、arr1.concat(arr2,arr3) //数组不变会返回一个新数组,会造成内存浪费,大的合并小的会减少合并次数,但是小的合并大的会消耗,所以必须要预判,但不改变原数组的情况下就是用concat
3、[...arr1,...arr2,...arr3] // 用两种不同方法合并而成的新数组,但是它们的成员都是对原数组成员的引用,这就是浅拷贝。如果修改了原数组的成员,会同步反映到新数组
以上方法对数组重组,或者对象重组都是用,对象不同的是arr换成object