包含值和键的数组中的语法错误
Syntax error in an array with values and keys
这行有什么问题。它在控制台中显示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'
相关文章:
- 铬:“;未捕获的语法错误:意外的标记:"
- Javascript未捕获语法错误意外的标识符错误
- 为什么忽略了eval()代码中的语法错误
- 难以访问的JS环境中的语法错误
- 未捕获的语法错误:意外的标记{
- "未捕获的语法错误:意外的标记}"
- 未捕获的语法错误:无法在“文档”上执行“查询选择器”
- React JS:未捕获(在承诺中)语法错误:在位置 0 的 JSON 中意外<令牌
- $(input[]).仅在firefox中出现每个抛出语法错误
- 为什么浏览器没有为语法错误抛出异常
- 错误:语法错误,无法识别的表达式:不支持的伪:无效/RectJS/Unit Testing
- 未捕获的语法错误:意外的令牌,
- jQuery.getJSON失败,语法错误
- "未捕获的语法错误:意外的标记"角度JS
- 参数列表Three.js之后的未捕获语法错误:缺少)
- 循环的Javascript冻结浏览器,没有语法错误
- 为什么匿名函数本身就是javascript中的语法错误
- 这怎么不是语法错误?这毫无意义!(javascript)
- 语法错误:缺少:在属性 ID 之后
- 未捕获错误:语法错误,无法识别的表达式:input[@type=submit]