首页 > 建站教程 > JS、jQ、TS >  JS数组合并push与concat区别分析正文

JS数组合并push与concat区别分析

    push和concat都有合并数组的功能,一直没有研究过二者的区别,今天遇到了,就研究了下,区别还是比较大的:

先看代码:
var arr = [];
arr.push(1);
arr.push([2, 3]);
arr.push(4, 5);
arr = arr.concat(6);
arr = arr.concat([7, 8]);
arr = arr.concat(9, 10);
arr.each(function(index, value){
    alert(value);
});
alert 结果:
1
2,3
4
5
6
7
8
9
10
通过上面的例子,push和concat区别已然很明了了:

    push 遇到数组参数时,把整个数组参数作为一个元素;而 concat 则是拆开数组参数,一个元素一个元素地加进去。
    push 直接改变当前数组;concat 不改变当前数组。

总结:
    如果想数组追加用concat,但是和java的replace一样,用完记得arr1=arr1.concat(arr2)