【问题标题】:Javascript Accessing Multidimensional Array KeysJavascript 访问多维数组键
【发布时间】:2010-04-05 17:02:53
【问题描述】:

我有一个如下所示的 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");

【问题讨论】:

  • 您似乎在这里遗漏了一些代码。 outerArray 和 innerArray 分配在哪里/如何分配?
  • 我添加了缺失的代码。它在文档顶部声明。

标签: javascript arrays syntax key


【解决方案1】:

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

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

顺便说一句,这些在 Javascript 中通常不像在 PHP 中那样被称为数组。 Javascript 中的数组是序列,而对象是从字符串到任意类型的映射。

【讨论】:

    【解决方案2】:

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

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

    谢谢!你们摇滚。

    【讨论】:

      猜你喜欢
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-01
      • 2020-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多