2010-04-05 100 views
0

我有一個JavaScript數組,它看起來像這樣:的Javascript訪問多維數組鍵

'40x27' => array( 
    '1' => 0 
    '1.5' => 2 
    '2' = 1 
) 
'36x24' => array( 
    '1' => 1 
    '1.5' => 1 
    '2' = 2 
) 

我想打印出來的內部數組的值是這樣的:

i = 0; 
for (i in outerArray){ 
    var k = 0; 
    for (k in innerArray){ 
     alert(innerArray[k]); 
    }//for 
}//for 

我遇到的問題是k變量的值爲outerArray[i]而不是innerArray的密鑰,如下所示:

i=0;k="40x27"; 
i=0;k="36x24"; 
i=1;k="40x27"; 
i=1;k="36x24"; 

編輯:對不起,我忘了,包括一些代碼。

var outerArrays = new Array(「40x27」,「36x24」);
var innerArray = new Array(「1」,「1.5」,「2」);

+0

您似乎錯過了一些代碼。在哪裏/如何分配outerArray和innerArray? – tvanfosson 2010-04-05 17:10:53

+0

我添加了缺少的代碼。它在文檔的頂部被聲明。 – BFTrick 2010-04-05 17:37:32

回答

1

您並未將innerArray設置爲任何值。試試這個:

for (var i in outerArray) { 
    var innerArray = outerArray[i]; 
    for (var k in innerArray) { 
     alert(innerArray[k]); 
    } 
} 

順便說一句,這些通常不被稱爲JavaScript中的數組,就像它們在PHP中一樣。 Javascript中的數組是序列,而對象是從字符串到任意類型的映射,就像這種情況一樣。

0

感謝所有的指針,有一次我拍了一下我是如何創造我意識到,我有一個愚蠢的語法錯誤的數組:

for (i in outerArray){ 
    var k = 0; 
    for(k in **innerArray[outerArray[i]]**){ 
     alert(innerArray[k]); 
    } //for 
} //for 

的感謝!你們好棒。