我來自Ruby世界。我如何使用數組的字符串值作爲對象的屬性?例如..使用字符串值作爲對象的屬性來查找屬性的返回值
obj.myarray[0] = 1.00 // obviously this does not work, can you pro make it work?
obj = {
val1: 1.00, val2: 2.00}
myarray = ["val1"]
我來自Ruby世界。我如何使用數組的字符串值作爲對象的屬性?例如..使用字符串值作爲對象的屬性來查找屬性的返回值
obj.myarray[0] = 1.00 // obviously this does not work, can you pro make it work?
obj = {
val1: 1.00, val2: 2.00}
myarray = ["val1"]
簡短的回答:我相信你正在尋找的語法是這樣的:
obj[myarray[0]] = 1.00;
這裏假設你有一個數組,myarray
,並且第一個項目在數組中(索引0)具有要與obj
對象一起使用的密鑰的名稱。
請注意,= 1.00
是分配,因此它會將該值存儲在您的對象中。爲了進行比較,您需要==
or ===
operators。
龍答:
從你的問題代碼:
obj = {
val1: 1.00, val2: 2.00}
創建一個名爲obj
名爲val1
和val2
兩個屬性的對象。這些屬性可以像這樣訪問:
obj["val1"]
// OR
obj.val1
其中點語法只適用於遵循JavaScript標識符名稱規則的屬性名稱。使用括號和字符串語法,您可以將任何字符串用作屬性名稱。
然後
myarray = ["val1"]
創建具有一個元件,字符串 「VAL1」 的陣列。所以,在我的「簡短的回答」,使用的元素從數組訪問對象的屬性,你說:
obj[ myarray[0] ]
(其中指數爲0,如果需要,可以另外一個變量。)
您可能想要閱讀以下內容:https://developer.mozilla.org/en/JavaScript/Guide/Working_with_Objects(此外,請注意,在JavaScript中,數組是一種特殊類型的對象,旨在與數字索引一起使用,並不直接與其他語言的「關聯數組」對應 - 「簡單」 JS對象更接近「關聯數組」)。
還要注意,要存儲的值,1.00
和2.00
作爲數字將僅返回1
和2
- 如果您需要在小數點後保留尾隨零,則需要將它們存儲爲字符串。
+1爲了搞清楚原始問題的意圖。我刪除了我自己的答案,這是一個幾乎錯過。 – 2012-01-29 04:33:27
來到這裏有不同的問題,但你的答案也幫助我。謝謝。^_ ^ – 2013-08-28 08:16:43
你不明白你在問什麼。你能解釋一下你在JavaScript中尋找什麼功能嗎?你的意思是在你將屬性名稱作爲字符串時訪問一個對象的屬性? – 2012-01-29 03:58:42
我不明白你在寫什麼。 – Tom 2012-01-29 03:59:16
@AtesGoral是的,看起來他有一個屬性的名稱存儲爲一個數組中的字符串。然後他想使用數組中的字符串值來訪問該對象的屬性。 – lpd 2012-01-29 04:09:32