2017-02-10 78 views
0

我是JavaScript的新手,並且遇到了從對象字典中獲取值的問題。使用包含「 - 」的密鑰獲取對象字典中的值

作爲一個例子可以說,我的目標是拿到鑰匙「時代」的價值,這是在給定的詞典是這樣的:

{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,「 - 」只是一個字符?

回答

2

因爲,正如你所發現的,-字符在變量名中是不允許的(因爲它是一個數學運算符),所以你必須使用括號符號而不是點符號來訪問對象屬性;這意味着你的:

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

必須寫成:

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

該項訪問object.Family.Smith對象的Max-Martin財產,引述的"Max-Martin"字符串。

相關問題