2010-04-05 5 views
0

j'ai un tableau javascript qui ressemble à ceci:Javascript Accès Clés Array multidimensionnels

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

etc.

Je veux imprimer les valeurs du tableau intérieur comme celui-ci:

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

Le problème que j'ai est que la variable k a la valeur de outerArray[i] au lieu de la clé du innerArray comme si:

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

Modifier: désolé, j'oublié d'inclure un code. Var outerArrays = new Array ("40x27", "36x24");
var innerArray = new Tableau ("1", "1.5", "2");

+0

Vous semblez avoir manqué du code ici. Où/comment sont assignés outerArray et innerArray? – tvanfosson

+0

J'ai ajouté le code manquant. c'est déclaré en haut du document. – BFTrick

Répondre

1

Vous ne définissez pas innerArray à quoi que ce soit. Essayez ceci:

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

BTW, ils ne sont généralement pas appelés tableaux en Javascript comme ils le sont en PHP. Les tableaux en Javascript sont des séquences, tandis que les objets sont des cartes de chaînes à des types arbitraires comme dans ce cas.

0

Merci pour tous les pointeurs, une fois que je pris un coup d'oeil à la façon dont j'ai créé les tableaux je réalisais que j'avais une erreur de syntaxe stupide:

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

merci! Vous êtes top les gars.