2017-02-10 79 views
0

我是JavaScript的新手,并且遇到了从对象字典中获取值的问题。使用包含“ - ”的密钥获取对象字典中的值

作为一个例子可以说,我的目标是拿到钥匙“时代”的价值,这是在给定的词典是这样的:

{Family : {Smith : {'Max-Martin' : {Age : {_value: '13'}}}}} 

通常我会得到它

var Max-Martins_age = object.Family.Smith.Max-Martin.Age._value; 

但是关键字“Max-Martin”中的“ - ”导致“Martin未定义”错误。

有没有办法调用... Smith.Max-Martin.Age ...告诉JavaScript,“ - ”只是一个字符?

回答

2

因为,正如你所发现的,-字符在变量名中是不允许的(因为它是一个数学运算符),所以你必须使用括号符号而不是点符号来访问对象属性;这意味着你的:

var Max-Martins_age = object.Family.Smith.Max-Martin.Age._value; 

必须写成:

var Max-Martins_age = object.Family.Smith["Max-Martin"].Age._value; 

该项访问object.Family.Smith对象的Max-Martin财产,引述的"Max-Martin"字符串。

相关问题