Javascript Доступ к многомерным массивам ключей - PullRequest
0 голосов
/ 05 апреля 2010

У меня есть массив 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 ]

1 голос
/ 05 апреля 2010

Вы не устанавливаете innerArray ни к чему. Попробуйте это:

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

Кстати, в Javascript они обычно не называются массивами, как в PHP. Массивы в Javascript являются последовательностями, в то время как объекты являются отображениями из строк в произвольные типы, как в этом случае.

0 голосов
/ 05 апреля 2010

Спасибо за все указатели, как только я взглянул на то, как я создал массивы, я понял, что у меня тупая синтаксическая ошибка:

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

спасибо! вы, ребята, рок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...