先看代码:
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)