【发布时间】:2012-10-05 03:40:50
【问题描述】:
所以,我在 JavaScript 中遇到了数组的问题。 我初始化了一些变量,如下所示:
var world = new Array;
var monsters = new Array;
var items = new Array;
var x = 0;
var y = 0;
并尝试在其上运行此代码:
while (y <= 49) { //generate world
world[x][y] = parseInt(Math.floor(Math.random()*2)); //0 = flatland, 1 = desert, 2 = mountain, 3 = swamp
x++;
if (x >= 49) {
x = 0;
y++;
}
}
x = 0;
y = 0;
但我收到此错误: “TypeError:无法将未定义的对象转换为对象” 在 Math.random() 行。 我已经尝试了我能想到的一切,但它仍然会引发该错误。 任何帮助将不胜感激!
【问题讨论】:
-
@spng453 人们普遍认为使用文字数组表示法
[]比使用new Array()更好,正是因为它很容易出错。 -
@Shmiddty:
new Array和new Array()都很好。 -
而
world[x]是未定义的,不是array,所以world[x][y]很可能undefined[y]会失败。 -
好的,现在说得通了。我确实有 new Array(),但我在某处读到,说 new Array 可能会有所帮助。
标签: javascript arrays object random undefined