从另一个数组元素设置Array元素

时间:2017-07-28 09:33:27

标签: javascript arrays

我想在javascript中从另一个数组元素设置数组元素的值。但这两个元素都改变了!如何仅更改arr[1]

arr[0] = {i: 0};
arr[1] = arr[0];
arr[1]['summ'] = 0;

结果:

(2) [Object, Object]
0: Object
  i: 0
  summ: 1
1: Object
  i: 0
  summ: 0

2 个答案:

答案 0 :(得分:0)

因为它们都有相同的引用,所以你应该将对象的值复制到具有不同引用的第二个对象。所以尝试这个技巧:

arr[1] = JSON.parse(JSON.stringify(arr[0]));

答案 1 :(得分:0)

这个问题很难理解,但我会尽力而为。

arr[0]

您可以在其中设置arr[1]的值。相反,您只想更改arr[1] = {i: 0}; arr[1]['summ'] = 0; ,所以请转到:

arr[0]

如果我们需要将arr[1]设置为arr[1] = arr[0]; ,那么

{{1}}