一看见合并数组,可能第一反应就是concat,concat确实具有我们想要的行为,但它实际上并不附加到现有数组,而是创建并返回一个新数组。
同样你也许会想到ES6的扩展运算符... 但它同样也是新生成一个数组。
但是我们想要附加到我们现有的阵列,运用apply:
var array = [‘a‘, ‘b‘];
var elements = [0, 1, 2];
array.push.apply(array, elements);
console.log(array); // ["a", "b", 0, 1, 2]
apply将this指向array。
concat():
var a = array.concat(elements);//原数组不变
扩展运算符...:
var b = [...array,...elements];//原数组不变