我有一个二维数组,带有整数,我想要的只是用一个数字递增一个特定的项目。 初始状态:
var arr1=[];
var arr2=[1,2,3];
arr1.push(arr2);
arr1.push(arr2);
arr1.push(arr2);
arr1 现在看起来像这样:
0:[1, 2, 3]
1:[1, 2, 3]
2:[1, 2, 3]
我想要的是将这个数组的 [0,0] 元素递增 10,所以 arr1 应该是:
0:[11, 2, 3]
1:[1, 2, 3]
2:[1, 2, 3]
我做了什么:
arr1[0][0]+=10;
但是这样的结果是:
0:[11,2,3]
1:[11,2,3]
2:[11,2,3]
我错过了什么?为什么这个命令递增数组元素位置 0 处的所有数字?
最佳答案
因为 arr1
的每个元素都是相同数组,所以对一个的更改就是对所有的更改。
关于Javascript 二维数组 : incrementing a specific item's value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53677453/