push和concat二者功能很相像,但有两点区别。
先看如下例子:
var arr = [];
arr.push(1);
arr.push(2);
arr.push([3,4])
arr.push(5,6);
arr = arr.concat(7);
arr = arr.concat([8,9]);
arr = arr.concat(10,11);
for(variinarr){
console.log(i+"-----"+arr[i]);
}
打印结果如下:
index.js [sm]:180 0-----1
index.js [sm]:180 1-----2
index.js [sm]:180 2-----3,4
index.js [sm]:180 3-----5
index.js [sm]:180 4-----6
index.js [sm]:180 5-----7
index.js [sm]:180 6-----8
index.js [sm]:180 7-----9
index.js [sm]:180 8-----10
index.js [sm]:180 9-----11
区别:
push 遇到数组参数时,把整个数组参数作为一个元素;而 concat 则是拆开数组参数,一个元素一个元素地加进去。
push 直接改变当前数组;concat 不改变当前数组。
网友评论