JS合并两个数组的方法

在项目里遇到两个数组合并的需求非常常见,例如滚动加载的时候就会需要把新数据和旧数组进行一个合并的操作,以下总结常用的几个方法:

1.concat

js的Array对象内置了concat方法用于处理两个数组的合并

优点:方便简洁

缺点:旧数组仍存在,在进行多次数组合并时有内存浪费的问题

var c = a.concat(b);//c=[1,2,3,4,5,6]
//该方法不改变原数组,生成新数组

2.for循环

遍历其中一个数组,把该数组中的所有元素依次添加到另外一个数组中

for(var i in b){
    a.push(b[i]);
}

3.apply方法

利用函数的apply方法,func.apply(obj,argv),其中argv是一个数组

b = [1,2,3];
a.push.apply(a,b);
//等同于
a.push(1,2,3);

上面的两个方法效果是一样的,调用a.push这个函数实例的apply方法,同时把,b当作参数传入,这样a.push这个方法就会遍历b数组的所有元素,达到合并的效果。

如果你有更方便快捷的操作,欢迎指教!

你可能感兴趣的:(javascript)