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

时间:2013-04-17 13:30:21

标签: javascript arrays pointers reference

让我们说我有两个javascript数组,如下所示:

arrA = [1,2,3]
arrB = [4,5,6]

有没有办法可以使用不同的变量名称来引用它们?如果我这样做:

arrC = arrA
arrD = arrB

它使初始数组的副本,而不是指向它们的指针/引用。因此,如果我混淆了arrC的值,arrA就不会更新。有办法解决这个问题吗?

感谢。

2 个答案:

答案 0 :(得分:5)

不,它不会复制。如果您更改arrC,它也会更改arrA

试试这个:

var arrA = [1,2,3];
var arrC = arrA;
arrC.push(26);
console.log(arrA);

您将在控制台中看到[1, 2, 3, 26]

反之亦然:如果您想要制作副本,则必须明确地执行此操作,例如使用

var arrC = arrA.slice();

答案 1 :(得分:0)

按照这篇文章在对象中创建一个数组,这是一种简单的方法。

javascript variable reference/alias