用Javascript定义数组

用Javascript定义数组,javascript,multiple-definition-error,Javascript,Multiple Definition Error,在开始定义变量时,无法定义第二个二维数组。为什么?应该怎么做 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=新数组

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

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=新数组(10);
对于(变量i=0;i<10;i++)
{
NPC[i]=新阵列(7);
};
var previous_bead_NPC=新数组(10);
对于(变量i=0;i<10;i++)
{
以前的_珠_NPC[i]=新数组(7);
};

使用数组构造函数没有实际意义:

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;
}
var NPC=[];
对于(变量i=0;i<10;++i){
NPC[i]=[];
NPC[i][6]=未定义;
}

(我不知道您为什么想要这样做,但我想它可能会起到某种作用。)

使用数组构造函数没有实际意义:

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;
}
var NPC=[];
对于(变量i=0;i<10;++i){
NPC[i]=[];
NPC[i][6]=未定义;
}
(我不知道你为什么要那样做,但我想这可能会起到一些作用。)

这是我在示例网站中粘贴代码时看到的。没有进行任何修改。因此,我想您的问题可以通过修复/更新firebug来解决;)



这是我在示例网站中粘贴代码时看到的。没有进行任何修改。因此,我想您的问题可以通过修复/更新firebug来解决;)

你是什么意思,它“无法定义2d数组”。你怎么知道?我看第二个阵列没有问题。您在执行此操作时或想要使用这些阵列时是否收到错误消息?在Firebug中,我只能看到NPC阵列,而第二个阵列不存在。在Firefox/Firebug中,我都看到了:但是,在Firebug的DOM选项卡中,我只看到NPC阵列。WTF我很笨还是什么?你是什么意思,它“无法定义2d数组”。你怎么知道?我看第二个阵列没有问题。您在执行此操作时或想要使用这些阵列时是否收到错误消息?在Firebug中,我只能看到NPC阵列,而第二个阵列不存在。在Firefox/Firebug中,我都看到了:但是,在Firebug的DOM选项卡中,我只看到NPC阵列。WTF我很笨还是什么?我想旧习惯很难打破。把某个元素设置为未定义有什么意义?设置length属性(最好是使用数组构造函数初始化)似乎不那么容易混淆;今天早上我没有喝足够的咖啡。:-)我个人也不喜欢数组构造函数,因为它的语义很奇怪,而且不一致。我认为整个问题都是毫无意义的。我想旧习惯很难打破。把某个元素设置为未定义有什么意义?设置length属性(最好是使用数组构造函数初始化)似乎不那么容易混淆;今天早上我没有喝足够的咖啡。:-)我个人也不喜欢数组构造函数,因为它的语义很奇怪,而且不一致。我想整个问题都是毫无意义的。我不知道为什么它没有正确列出以前的NPC-我把它改成了以前的NPC,现在我可以像你一样看到它了。有史以来最愚蠢的事情。同样在jsFiddle演示中:@user1510009没问题,伙计。我会将这个问题标记为删除,因为最后这个问题或它的答案没有任何价值。我不知道为什么它没有正确列出上一个\u bead\u NPC-我将它更改为上一个\u bead\u NPC,我现在可以像你一样看到它。有史以来最愚蠢的事情。同样在jsFiddle演示中:@user1510009没问题,伙计。我将把这个问题标记为删除,因为最终这个问题或它的答案没有任何价值。