javascript - 无法使用变量访问数组值

标签 javascript

我正在使用p5js库并遇到了我以前从未遇到过的问题。我有一个名为neighbors 的函数,其构造函数为neighbors(x, y)。我在每个循环中多次调用该函数(2500 次)。如果我使用此代码:

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

没有出什么问题。一旦我用这个替换代码:

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

我在控制台中收到错误:

TypeError: spots[(x + 1)] is undefined

我尝试使用

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

但这只是将错误更改为

TypeError: spots[parseInt(...)] is undefined

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

提前致谢

弗里茨福尔茨

最佳答案

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

关于javascript - 无法使用变量访问数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42979000/

相关文章:

javascript - 减少 dimple.js 图表和轴之间的填充

javascript - mysql查询不能与ajax中的跨域一起使用

javascript - 用于压缩 javascript 和缩小图像的 Windows 程序

javascript - 在莫里斯图表中正确显示 JSON 结果

Javascript:调试由 eval() 和 new Function() 创建的代码

javascript - 超越在 document.ready() 中编写简单函数

javascript - 移动浏览器的“放大”选项

javascript - 如何停止Javascript函数的执行?

javascript - Three.js ColladaLoader "Cannot read property ' 长度'未定义”

javascript - 有属性(property)吗?是否意味着该属性在类实例上可以为 null 或未定义?