我想在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
答案 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}}