问题描述
码:
var obj = {val1: 'Test',val2: 'Test','array[]': [ '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ] };
console.log(obj.array);
问题:上面的console.log返回未定义。 对于许多人来说,这也许很明显,但是我是个新手,试图弄清楚如何记录array [](如果将属性简单定义为{'array':[“ 1”,“ 1”, “ 1”,“ 1”,“ 1”,“ 1”,“ 1”,“ 1”,“ 1”,“ 1”]})。
预期输出:[“ 1”,“ 1”,“ 1”,“ 1”,“ 1”,“ 1”,“ 1”,“ 1”,“ 1”,“ 1”]
1楼
James Hibbard
4
已采纳
2019-03-03 19:17:17
像这样:
console.log(obj['array[]']);
您尝试访问的属性称为array[]
,而不是array
。
您必须使用方括号符号来访问属性(即obj['array[]']
而不是obj.array[]
),因为属性名称不是有效的JavaScript标识符,即也包括字母数字字符序列包括不能以数字开头的下划线(“ _”)和美元符号(“ $”)。
参考: :
2楼
amyloula
1
2019-03-03 19:16:38
对象属性命名为array[]
,而不是array
。
将其重命名为array
,您将获得预期的结果。
var obj = {val1: 'Test',val2: 'Test','array': [ '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ] }; console.log(obj.array);