我是JavaScript的新手,我在从对象字典中获取值时遇到问题。
举例来说,我的目标是获取键“ Age”的值,该键在给定的字典中如下所示:
{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“-”只是一个字符?
最佳答案
因为,正如您所发现的那样,变量名中不允许使用-
字符(因为它是数学运算符),因此您必须使用方括号而不是点符号来访问Object属性;这意味着您:
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"
属性。