Javascript 使用嵌套数组计数
我正在尝试统计嵌套数组中数组的索引1值。我期望的输出是:Javascript 使用嵌套数组计数,javascript,arrays,for-loop,nested,grid,Javascript,Arrays,For Loop,Nested,Grid,我正在尝试统计嵌套数组中数组的索引1值。我期望的输出是: [ [ [ 0, 0 ], [ 0, 1], [ 0, 2 ] ] ] 但是,我将以下内容作为我的输出: [ [ [ 0, 2 ], [ 0, 2 ], [ 0, 2 ] ] ] 以下是我正在运行的代码,我假设问题属于第二个for循环: let width = 3 let height = 1 var grid = []; let y = 0 for(var i=0; i<height; i++) { grid[i]
[ [ [ 0, 0 ], [ 0, 1], [ 0, 2 ] ] ]
但是,我将以下内容作为我的输出:
[ [ [ 0, 2 ], [ 0, 2 ], [ 0, 2 ] ] ]
以下是我正在运行的代码,我假设问题属于第二个for循环:
let width = 3
let height = 1
var grid = [];
let y = 0
for(var i=0; i<height; i++) {
grid[i] = new Array(width).fill([0,0])
}
let currentRow = grid[0]
for (let j = 0; j<grid[0].length; j++){
currentRow[j][1] = j
}
let width=3
让高度=1
var网格=[];
设y=0
对于(var i=0;i将代码更改为
let width = 3;
let height = 1;
var grid = [];
let y = 0;
for (var i = 0; i < height; i++) {
grid[i] = new Array(width);
for (let j = 0; j < grid[i].length; j++) {
grid[i][j] = [0, 0];
}
}
let currentRow = grid[0];
for (let j = 0; j < grid[0].length; j++) {
currentRow[j][1] = j;
}
let width=3;
设高度=1;
var网格=[];
设y=0;
对于(变量i=0;i
当您使用grid[i]=new Array(width).fill([0,0])
时,您正在grid[i]
数组中保存一个[0,0]
实例,这意味着currentRow[0]==currentRow[1]
是true
,因此当您更改currentRow[j][1]
所有currentRow
元素都被更改,在第二个循环的最后一步中,您更改了currentRow[2][1]=2
,因此所有currentRow
元素都以这种方式更改。有什么替代方法可以让它计数?