包含值和键的数组中的语法错误

Syntax error in an array with values and keys

本文关键字:语法 错误 数组 包含值      更新时间:2023-09-26

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

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

你在 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' };

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

这是一个从零开始的数组

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

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

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

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

如果你真的愿意,你可以创建一个在位置0没有元素的 JavaScript 数组,如下所示:

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

这将创建一个稀疏数组(一个带有孔的数组)。它没有元素0。(与具有值null的元素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"
}

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

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

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

将数组与哈希混合使用。数组:

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'