2010-11-25 77 views
0

我在調用一個ajax函數,該函數返回一個包含數據列標籤的數據集(響應)。其中一個列標籤會根據發起呼叫的位置而變化。在不知道命名約定的情況下調用javascript數組

通常情況下,以下代碼訪問響應變量如果列標籤是硬編碼:

for (var i = 0; i < response.d.length; i++) { 
    data.setValue(i, 1, response.d[i].Emissions); 
} 

然而,我需要能夠訪問使用,因爲傳遞在一個單獨的字符串變量響應變量標籤更改。下面是我做這件事的微弱嘗試,但它不起作用。這樣做的正確語法是什麼?

var columnLabel = 'Emissions'; 
for (var i = 0; i < response.d.length; i++) { 
    data.setValue(i, 1, response.d[i].columnLabel); 
} 
+0

僅供參考,你想用一個變量的名稱接近的東西被稱爲一個對象,而不是一個數組; `response.d`是一個數組,因爲它使用數字(> = 0)進行訪問,但該數組的每個元素(`response.d [i]`)都是一個對象。 – 2010-11-25 23:10:47

回答

8

您需要使用[] - 運算符:

data.setValue(i, 1, response.d[i][columnLabel]); 

obj.property相當於obj['property']

+1

+1正確答案。 – aefxx 2010-11-25 22:32:47

0

試試這個:

for (var i = 0; i < response.d.length; i++) { 
    data.setValue(i, 1, response.d[i]['Emissions']); 
} 
相關問題