在开始时定义变量时,它无法定义第二个二维数组。为什么?应该怎么做?
var NPC = new Array(10);
for (var i = 0; i < 10; i++)
{
NPC[i] = new Array(7);
};
var previous_bead_NPC = new Array(10);
for (var i = 0; i < 10; i++)
{
previous_bead_NPC[i] = new Array(7);
};
在开始时定义变量时,它无法定义第二个二维数组。为什么?应该怎么做?
var NPC = new Array(10);
for (var i = 0; i < 10; i++)
{
NPC[i] = new Array(7);
};
var previous_bead_NPC = new Array(10);
for (var i = 0; i < 10; i++)
{
previous_bead_NPC[i] = new Array(7);
};
使用 Array 构造函数没有实际意义:
var NPC = [];
很好。JavaScript 无论如何都不会预先分配空间(至少现代运行时不会)。如果您希望数组具有特定长度,可以这样做:
NPC[9] = undefined; // now it'll be 10 elements long
因此,如果你想创建一个 10 行的数组,每行都是一个长度为 7 的数组:
var NPC = [];
for (var i = 0; i < 10; ++i) {
NPC[i] = [];
NPC[i][6] = undefined;
}
(我不知道你为什么想要那个,但我想它可以达到某种目的。)
这是我将您的代码粘贴到示例网站时看到的内容。没有进行任何修改。所以我想你的问题可以通过修复/更新你的萤火虫来解决;)