合并数组,改变原数组apply与不改变原数组

一看见合并数组,可能第一反应就是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];//原数组不变

原文地址:https://www.cnblogs.com/xinyouhunran/p/9933962.html