JavaScript数组值设置错误

JavaScript array value setting error?

本文关键字:错误 设置 数组 JavaScript      更新时间:2023-09-26

我试图制作一个小型javascript游戏时遇到了一个问题:我无法设置数组中先前分段的值

为了更清楚,这里有一个例子:

for (var a = 0; a <= 100; a++) {
    if (grid[a].num == 2) {
        grid[a + 1].num++;
        grid[a - 1].num++;
        grid[a].num = 0;
    }
 }

grid[a+1]的属性'num'增加得很好,但grid[a-1]的属性'num'没有发生任何变化。

为什么会发生这种情况,我该如何克服这个问题?

该值不会更新,因为当a为0时,grid[a-1]会返回-ve值,请按如下方式更改代码。

for (var a = 0; a <= 100; a++) {
    if (grid[a].num == 2) {
        grid[a + 1].num++;
        if (a > 0) {
            grid[a - 1].num++;
        }
        grid[a].num = 0;
    }
}