我是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" - "只是一个炭?
答案 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"
属性。