2009-10-22 80 views
0

我怎樣才能設置一個變量,我可以通過使用eval('productOptionTree' + '[0][1][0]')使用線性值訪問javascript多維數組

(以下簡稱 '[0] [1] [0]' 一部分來自另一個變量)


UPDATE 這是一個醜陋的問題,但是我無法找到另一種方式來做到這一點。我能找到的唯一答案是:

newVal = 4;

dim ='[0] [1] [0]';

eval('productOptionTree'+ dim +'='+ newVal);

回答

1

您不需要eval來讀取該項目。只要做到:

var x = productOptionTree[product[0]][product[1]][product[2]]; 

如您免費評估,你現在可以輕鬆地用同樣的方法設置的項目:

productOptionTree[product[0]][product[1]][product[2]] = 42; 
+0

,但你會怎麼做,在一個變量維數組? – djspark 2009-12-17 12:30:40

+0

@djspark:因爲它們不是多維數組,而只是數組中的數組,所以可以在循環中完成它:var p = productOptionTree; for(var i = 0; i Guffa 2009-12-17 14:27:44