我是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"属性。

10-08 16:54