鉴于这两个阵列 a 和 b :
var a = [1,2,3];
var b = a;
a.push(4);
console.log(b); /* [1,2,3,4] */
console.log(a); /* [1,2,3,4] */
为什么 b 与[1,2,3]相等?
答案 0 :(得分:1)
变量b
保存对数组a
的引用。您需要复制数组,而不是使用 Array#slice
方法进行复制。
var a = [1, 2, 3];
var b = a.slice();
a.push(4);
console.log(b);
console.log(a);