带有值和键的数组中的语法错误

时间:2012-05-12 14:25:19

标签: javascript

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

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

5 个答案:

答案 0 :(得分: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' };

答案 1 :(得分: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"
}

答案 2 :(得分:0)

这不是有效的数组语法,从来没有。

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

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

答案 3 :(得分: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';

创建一个稀疏数组(包含空洞的数组)。它没有元素0。 (与具有值0的元素null相反,这是另一个答案。)但除非你有充分的理由,否则我不会。

答案 4 :(得分: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'