Javascript 具有值和键的数组中存在语法错误
这条线怎么了。 控制台中显示Javascript 具有值和键的数组中存在语法错误,javascript,Javascript,这条线怎么了。 控制台中显示未捕获语法错误 var aqar= new Array(1:'1_2',2:'5_1',3:'3_3'); 这是一种构造数组的奇怪方法。尝试: 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" } 您正在
未捕获语法错误
var aqar= new Array(1:'1_2',2:'5_1',3:'3_3');
这是一种构造数组的奇怪方法。尝试:
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"
}
您正在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' };
这不是有效的数组语法,而且从来都不是 如果要使数组基于一,请使用
null
作为第一个元素。另外,在不需要执行以下操作时,不要使用new Array()
:
var aqar = [null,'1_2','5_1','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
功能了
如果确实需要,可以创建一个JavaScript数组,该数组在0
位置没有元素,如下所示:
var aqar = [];
aqar[1] = '1_2';
aqar[2] = '5_1';
aqar[3] = '3_3';
这将创建一个稀疏阵列(其中有孔的阵列)。它没有元素0
。(与元素0
具有值null
,这是这里的另一个答案所做的相反)但除非您有很好的理由,否则我不会。您将数组与哈希混合。
数组:
散列:
var-aqar=['1_2','5_1','3_3']
比新数组
表单好得多。否则,+1@T.J.Crowder的确,谢谢!已更新。请阅读JavaScript教程以了解基本语法:。为什么你认为这一行首先是正确的?我来自PHP背景。我认为在javaScript数组中可以有自定义键,而不是在数组中。数组只是对象的“列表”或枚举,而不是键值存储。这是一个对象或映射。@grailsguiy:实际上,JavaScript数组是通用的键/值存储。它们的“数组性”是一个神话(),它们只是具有一些额外特性的对象。当然,这并不意味着在不需要额外的类似数组的功能时应该使用它们。:-)
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'