天天看点

js 将一个数组添加到另一个数组中

假如现在有两个数组

var array1 = [1, 2, 3]; var array2 = ['a', 'b'];      

我们想要的效果是:把array2数组元素添加到array1中,使得array1直接变成下面这个样子:

[1, 2, 3, 'a', 'b']      

如何快速实现呢?

可能有小伙伴会想到使用push方法,我们来看看push效果是怎么样的:

var array1 = [1, 2, 3]; 
var array2 = ['a', 'b'];
array1.push(array2)
console.log(array1); // [ 1, 2, 3, [ 'a', 'b' ] ]      

实际上push方法上会将该整个数组作为单个元素添加,而不是单独添加元素,因此最终得到的是一个数组内的数组,并不是我们想要的效果😥。

估计有小伙伴想到了concat方法,concat确实可达到我们想要的效果,但它实际上并不直接附加到现有数组array1数组,而是创建并返回一个新数组,我们需要再把这个新数组赋给array1才能达到效果。

var array1 = [1, 2, 3]; 
var array2 = ['a', 'b'];
array1 = array1.concat(array2)
console.log(array1); // [ 1, 2, 3, 'a', 'b' ]      

实际上我们也可以使用apply快速地达到我们想要的效果哦💡:

var array1 = [1, 2, 3]; 
var array2 = ['a', 'b'];
array1.push.apply(array1,array2)
console.log(array1); // [ 1, 2, 3, 'a', 'b' ]      

继续阅读