JS-从对象提取Array属性

时间:2019-03-03 19:14:16

标签: javascript arrays

代码:

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”]

2 个答案:

答案 0 :(得分:4)

像这样:

console.log(obj['array[]']);

您尝试访问的属性称为array[],而不是array

您必须使用方括号表示法访问属性(即obj['array[]']而不是obj.array[]),因为属性名称不是有效的JavaScript标识符,即,字母数字字符序列包括下划线(_)和美元符号(“ $”),它们不能以数字开头。

参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_Accessors

答案 1 :(得分:1)

对象属性名为array[],而不是array。将其重命名为array,您将获得期望的结果。

var obj = {val1: 'Test',val2: 'Test','array': [ '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' ] };

console.log(obj.array);