无法使用变量访问数组值

时间:2017-03-23 14:30:18

标签: javascript

我正在使用p5js图书馆并遇到了我以前从未遇到过的问题。我有一个带有构造函数邻居(x,y)的邻居函数。我每次循环多次调用该函数(2500次)。如果我使用此代码:

if(x < 50){
    if(spots[1][1]){
        neighborCount++;
    }
}

什么都不会出错。只要我用这个替换代码:

if(x < 50){
    if(spots[parseInt(x+1)][1]){
        neighborCount = 3;
    }
}

我在控制台中收到错误:

  

TypeError:斑点[(x + 1)]未定义

我尝试使用

spots[parseInt(x+1)][1]

但是只将错误更改为

  

TypeError:spots [parseInt(...)]未定义

我希望我能够很好地解释我的问题,你可以理解它。如果我忘记了什么,请告诉我,我会尽快添加。

提前致谢

FritzFurtz

2 个答案:

答案 0 :(得分:1)

我犯了一个经典的错误:0在数组中编制索引。 if(x <50)应该检查它是否未完成,因为数组大小为50.但我忘记了最后一个值被索引49所以我必须检查是否(x <49)。谢谢你们总是快速回答!

答案 1 :(得分:0)

试试这个

if(x < 50){
    if(spots[parseInt(x,10)+1][1]){
        neighborCount = 3;
    }
}