-3

这条线有什么问题。它uncaught syntax error在控制台中说。

 var aqar= new Array(1:'1_2',2:'5_1',3:'3_3');
4

5 回答 5

1

你在 JavaScript 中混合数组和对象。

定义数组时,数组没有键:

var aqar = new Array('1_2', '5_1', '3_3');  // These lines
                                            // do the same
var aqar = ['1_2', '5_1', '3_3'];           // things

否则,您需要定义一个对象:

var aqar = { 1 : '1_2', 2 : '5_1', 3 : '3_3' };
于 2012-05-12T14:26:49.420 回答
0

这是构造数组的一种奇怪方式。尝试:

var aqar = ['1_2','5_1','3_3'];
aquar[0]; //1_2
aquar[1]; //5_1
aquar[2]; //3_3

或者如果您打算使用对象:

var aquar = {
    "1": "1_2",
    "2": "5_1",
    "3": "3_3"
}
于 2012-05-12T14:26:26.343 回答
0

这不是有效的数组语法,而且从来都不是。

如果要使数组基于一个,请null用作第一个元素。另外,不要new Array()在不需要时使用:

var aqar = [null,'1_2','5_1','3_3];
于 2012-05-12T14:27:17.687 回答
0

如果你真的想创建一个数组,通常 JavaScript 数组是0基于的,而不是1基于的,这就是你现在初始化它们的方式。

这是一个从零开始的数组

var aqar = ['1_2', '5_1', '3_3'];

或者您可能更喜欢使用非数组对象:

var aqar = {
    1: '1_2',
    2: '5_1',
    3: '3_3'
};

...但那样你就不会拥有所有伟大的Array东西。

如果你真的想要,你可以创建一个没有元素的 JavaScript 数组,0如下所示:

var aqar = [];
aqar[1] = '1_2';
aqar[2] = '5_1';
aqar[3] = '3_3';

这将创建一个稀疏数组(其中有孔的数组)。它没有元素00(与具有value的元素相反null,这是另一个答案在这里所做的。)但除非你有充分的理由,否则我不会。

于 2012-05-12T14:32:56.090 回答
0

您将数组与哈希混合。大批:

var a = ['1_2','5_1','3_3']; //a[0] = '1_2'

哈希:

var a = {1:'1_2',2:'5_1',3:'3_3'}; //a[1] = '1_2'
于 2012-05-12T14:33:11.437 回答