Javascript 使用包含“0”的键从对象字典中获取值-&引用;

Javascript 使用包含“0”的键从对象字典中获取值-&引用;,javascript,dictionary,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未定义”的错误 有没有办法打

我是JavaScript新手,在从对象字典中获取值时遇到了问题

举个例子,假设我的目标是获取键“Age”的值,它位于给定的字典中,如下所示:

{Family : {Smith : {'Max-Martin' : {Age : {_value: '13'}}}}}
通常我会带着它

var Max-Martins_age = object.Family.Smith.Max-Martin.Age._value;
但键“Max Martin”中的“-”会导致“Martin未定义”的错误


有没有办法打电话给史密斯,马克斯·马丁,年龄。。。告诉JavaScript“-”只是一个字符?

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

var Max-Martins_age = object.Family.Smith.Max-Martin.Age._value;
必须写为:

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

这将通过引用
“Max Martin”

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

var Max-Martins_age = object.Family.Smith.Max-Martin.Age._value;
必须写为:

var Max-Martins_age = object.Family.Smith["Max-Martin"].Age._value;
这将通过引用
“Max Martin”
字符串来访问
对象.Family.Smith
Max Martin
属性