使用包含" - "

时间:2017-02-10 14:22:22

标签: javascript dictionary

我是JavaScript新手,我遇到了从对象词典中获取值的问题。

举一个例子,我可以说我的目标是获得键的价值" Age",这是在给定的字典中这样:

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

通常我会用

来得到它
var Max-Martins_age = object.Family.Smith.Max-Martin.Age._value;

但" - "在关键" Max-Martin"导致错误“#Martin; Martin未定义"。

有没有办法打电话... Smith.Max-Martin.Age ...告诉JavaScript" - "只是一个炭?

1 个答案:

答案 0 :(得分:2)

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

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

必须写成:

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

通过引用Max-Martin的字符串来访问object.Family.Smith对象的"Max-Martin"属性。