重复数组

时间:2014-10-10 16:20:49

标签: javascript arrays variables duplicates

我需要复制和操作数组变量,但出于某种原因,当我将值推入新创建的数组时,它会将值推送到原始数组中。

function testing (point) {
    var newArray = currentChain;
    newArray.push(point);
}

在这种情况下,点被添加到currentChain变量中。 请注意,我无法将currentChain设置为newArray,并且脚本中没有其他变量名为newArray。为什么会这样表现?

2 个答案:

答案 0 :(得分:2)

要解决此问题,您需要克隆阵列。例如,使用slice方法:

var newArray = currentChain.slice();

这是因为您的newArray是指向currentChain数组的指针。

答案 1 :(得分:1)

因为newArraycurrentChain共享相同的引用,所以更改一个也会影响另一个引用。

使用newArray = []来避免这种情况,因为数组的命名意味着这样。