Javascript访问多维数组键

时间:2010-04-05 17:02:53

标签: javascript arrays syntax key

我有一个看起来像这样的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”);

2 个答案:

答案 0 :(得分:1)

您没有将innerArray设置为任何内容。试试这个:

for (var i in outerArray) {
    var innerArray = outerArray[i];
    for (var k in innerArray) {
        alert(innerArray[k]);
    }
}
BTW,这些通常在Javascript中称为数组,就像它们在PHP中一样。 Javascript中的数组是序列,而对象是从字符串到任意类型的映射,如本例所示。

答案 1 :(得分:0)

感谢所有指针,一旦我看了一下我是如何创建数组的,我就意识到我有一个愚蠢的语法错误:

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

谢谢!你们摇滚吧。