Javascript:更改二维数组中的单元格值

2024-01-20

所以,我有一个二维数组,我这样声明:

var grille = new Array(60).fill(new Array(30).fill(false));

我希望能够更改数组中一个单元格的值,但是当我这样做时

grille[x][y] = "new value";

我拥有所有在索引 y 处包含“新值”的 x 数组,而不是 array[x][y]。

所以我有

grille[1][y] = "new value"
grille[2][y] = "new value"
grille[3][y] = "new value"

代替

grille[x][y] = "new value"
grille[1][y] = false

例如。 这可能是一个菜鸟错误,但我对 javascript 很陌生,不知道如何做到这一点。

感谢您的帮助。


在您的情况下,“new Array(30).fill(false)”只会创建一次。不会为“new Array(60)”中的每个元素创建它。因此,所有 60 个单元格都保存相同的数组引用。因此,如果您更改一个 - 它会更新其所有参考。

var grille = (new Array(60)).fill().map(function(){ return new Array(30).fill(false);});

在这里,对于“new Array(60)”中的每个元素,将创建“new Array(30)”,并且每个单元格现在保存不同的引用。希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript:更改二维数组中的单元格值 的相关文章

随机推荐