Javascript:使用变量引用数组,而不是复制它

Kev*_*ker 0 javascript arrays pointers reference

假设我有两个javascript数组,如下所示:

arrA = [1,2,3]
arrB = [4,5,6]
Run Code Online (Sandbox Code Playgroud)

有没有办法可以用不同的变量名称引用它们然后再路上?如果我这样做:

arrC = arrA
arrD = arrB
Run Code Online (Sandbox Code Playgroud)

它创建初始数组的副本,而不是指向它们的指针/引用.所以,如果我搞砸了价值arrC,arrA就不会更新.有办法解决这个问题吗?

谢谢.

Den*_*ret 5

不,它不会复制.如果你改变了arrC,它也会改变arrA.

试试这个 :

var arrA = [1,2,3];
var arrC = arrA;
arrC.push(26);
console.log(arrA);
Run Code Online (Sandbox Code Playgroud)

你会[1, 2, 3, 26]在控制台中看到.

反之亦然:如果你制作副本,你必须明确地做,例如

var arrC = arrA.slice();
Run Code Online (Sandbox Code Playgroud)