2013-07-23 107 views
0

這很愚蠢,但我無法弄清楚。使用另一個值從對象獲取價值

我有一個簡單的對象在JS:

var objSyntax = [ {"a": "1"}, 
        {"b": "2" }, 
        {"c": "3"} ]; 

我想打電話給1時theid等於一個等

這裏是我試過的符號,沒有工作:

objSyntax[theid]; 

我在做什麼錯?

+4

你有對象的數組。您需要迭代Array,並測試每個Object以查看它是否具有''a「'鍵。或者如果鍵保證是唯一的,你應該可以創建一個單一的對象var objSyntax = {「a」:「1」,「b」:「2」,「c」:「3」}' –

回答

2

你可以改變你的對象,以反映類似:

var objSyntax = {"a": "1", 
        "b": "2" , 
        "c": "3"}; 
objSyntax[theId]; 

或通過對象的數組,你已經張貼迭代:

var objSyntax = [ {"a": "1"}, 
        {"b": "2" }, 
        {"c": "3"} ]; 
+1

完美!你的第一個解決方案效果很好,而且比第二個方案簡單得多。謝謝! – itamar

+0

當然,你有一個對象數組而不是你在你的問題中聲明的對象。 – KiaMorot

-1

隨着你怎麼把它設置了,現在,你將訪問它像這樣

objSyntax[0][theId] 
+0

這隻有在'theId'包含'a'時纔有效。如果是'b',他需要'objSyntax [1] [theId]',等等。 – Barmar