Javascript:错误“无法设置属性”..'未定义”
Javascript: Error "Cannot set property '...' of undefined"
我是Javascript的新手,我正在尝试创建一个地形生成器。在 2D 数组中设置某些值时,此错误,无法设置未定义的属性"4.5",这很奇怪,因为我已经用 0 初始化了数组。这就是给我带来麻烦的原因:
this.terrainArr[y + (size - 1) / 2][x + (size - 1) / 2] =
(this.terrainArr[y][x] +
this.terrainArr[y + (size - 1)][x] +
this.terrainArr[y + (size - 1)][x + (size - 1)] +
this.terrainArr[y][x + (size - 1)]) / 4 +
((Math.random() * (delta + 1)) - (delta / 2));
我像这样初始化数组:
this.terrainArr = [];
for(var i = 0; i < this.size; i++) {
var column = [];
for(var j = 0; j < this.size; j++) {
column[j] = 0;
}
this.terrainArr[i] = column;
}
我一个接一个地调用函数
this.initArr();
this.calcTerrain(0, 0, this.size, 10);
有人知道发生了什么吗?
如果大小为偶数,则 y + (size - 1)/2 将不是整数。尝试读取数组的非整数索引将返回未定义;尝试在未定义上使用索引表示法将引发错误。
例如:
myArray[2.5][4.5] // this is equivalent to undefined[4.5] which will throw
相关文章:
- 将对象作为参数传递后的未定义属性
- 检查链接对象形式中未定义属性的最佳实践是什么
- PhantomJS中的evalute内部未定义属性
- 访问数字类型的未定义属性
- 如何处理未定义属性的未定义属性 javascript 类型错误
- 返回未定义属性的脚本
- 类型错误:无法读取 ng-repeat 的未定义属性
- JavaScript-Disqus如何处理其“;disqus_config”;包含未定义属性的函数
- 是对HTMLElement#样式的未定义属性的赋值的返回值,保证与赋值相同
- 最好检查未定义属性或设置为空
- 如何解决这个未定义属性的node.js错误?
- 如何在JavaScript中挽救对象的未定义属性?
- AngularJS和PHP -注意:未定义属性:stdClass
- 主干模型删除未定义属性
- if else子句中未定义对象的未定义属性
- Javascript数组问题:无法读取未定义属性
- 当尝试使用未定义属性进行筛选时,Lodash将排除项
- 在Javascript数组的中途未定义属性
- Knockout arrayForEach未定义属性
- javascript中未定义属性的简写,初始化和赋值属性