我正在尝试避免通过使用JavaScript new Array()
对2d矩阵网格进行硬编码。从理论上讲,它可以工作,但实际上,我收到一个错误。 While a hardcoded grid swaps nearest gems correctly, the new Array
method swaps them almost randomly with the same code
new Array
我正在尝试通过使用JavaScript new Array()来避免对二维矩阵网格进行硬编码。从理论上讲,它可以工作,但实际上,我收到一个错误。当硬编码网格正确交换最近的宝石时,新的...
原因是使用me.tileGrid = new Array(6).fill(new Array(6).fill(null));
/* The upper code is potentially scalable, but it doesn't work same */
me.tileGrid = [
[null, null, null, null, null, null],
[null, null, null, null, null, null],
[null, null, null, null, null, null],
[null, null, null, null, null, null],
[null, null, null, null, null, null],
[null, null, null, null, null, null]
];
。当您将创建一个带有对象(引用类型)的数组时,每个元素都将在内存中引用相同的值。根据MDN