日期:2014-05-16  浏览次数:20421 次

JS 数组的 push 与 concat 区别

注意 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);
}); // ezj 代码

?

? alert 结果

?

1
2,3
4
5
6
7
8
9
10

? 区别

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

?