0

在开始时定义变量时,它无法定义第二个二维数组。为什么?应该怎么做?

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);
};
4

2 回答 2

2

使用 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;
}

(我不知道你为什么想要那个,但我想它可以达到某种目的。)

于 2012-07-08T14:50:09.600 回答
1

在此处输入图像描述

这是我将您的代码粘贴到示例网站时看到的内容。没有进行任何修改。所以我想你的问题可以通过修复/更新你的萤火虫来解决;)

于 2012-07-08T15:10:44.630 回答