所以,我有一个二维数组,我这样声明:
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(使用前将#替换为@)