把一个数组赋值给另一个数组

var aArr = ["a", "b", "c"];
var bArr = aArr;

这种情况下的赋值无论是对aArr还是bArr做出操作(例如删除数组中的一个元素),都将影响另一个。

aArr.splice(0, 1);
alert(aArr);
alert(bArr);

如上删除aArr数组的第一个元素,两个数组的值都是["b", "c"]。
因为数组是指向原位置的。

解决发放是切断两个数组之间的关联用concat或者slice赋值

var bArr = aArr.slice();
var bArr = [].concat(aArr);

你可能感兴趣的:(把一个数组赋值给另一个数组)