2010-04-27 7 views
1

comment puis-je obtenir l'identificateur d'un tableau associatif (pas un objet Array) dans une boucle for?Comment obtenir un identifiant de tableau en javascript?

comme ceci:

var i = 0; 
for(i=0;i<=myArray;i++) 
{ 
    if(myArray.ident == 'title') alert('The title is ' + myArray['title']); 
} 
+0

S'il vous plaît nous dire ce que votre code est censé faire, il semble que vous rendre les choses plus compliquées qu'elles ne le sont. Je ne sais pas si vous avez simplifié votre boucle, mais comme il est maintenant totalement inutile, un 'alert ('Le titre est' + monArray ['title'])' serait suffisant (btw tableaux associatifs sont des objets dans JS). –

Répondre

7

Vous pouvez le faire en utilisant une boucle for() différente, comme ceci:

var myArray = { title: "my title", description: "my description" }; 
var i = 0; 
for(var i in myArray) { 
    //if(i == 'title') is the check here... 
    alert('The '+ i + ' is ' + myArray[i]); 
}​ 

intérieur de la boucle, i est votre identifiant, par exemple title et description. You can play with this example here

0

ident est l'identifiant dans votre cas et 'title' est sa valeur ..

S'il vous plaît nous montrer le tableau réel ..

normalement en boucle par un tableau associatif vous le feriez comme ça ..

for (key in myArray) 
    { 
    if (key == 'title') 
     alert('The title is ' + myArray[key]); 
    } 
0

Cela dépend un peu sur la façon dont vous construisez myArray, en général:

var myArray = { 
    title: "foo", 
    bleep: "bloop" 
} 

for (var k in myArray) { 
    if (k == "title") 
     alert('The title is ' + myArray[k]); 
} 
0

Comme @ Nick Craver affiché, boucle à travers votre objet de données (tableau associatif), en utilisant de préférence la syntaxe compacte et vérifier si la propriété correspond à votre chaîne:

var myData = { /* properties: values */ } ; 
var string = /* string to match */ ; 

    for(var n in myData) { 

      if(n == string) { 
       // do something 
      } 

    } 
2
var i; 
var mycars = new Array(); 
mycars[0] = "Saab"; 
mycars[1] = "Volvo"; 
mycars[2] = "BMW"; 

for (i = 0; i < mycars.length; i++) { 
    document.write(mycars[i] + "<br>"); 
}