Ok, j'ai ce code:Javascript pour/en boucle par des propriétés, pas d'index et renvoie des chaînes
var room = [ { time: 0, people: 0 } ];
puis:
time = 5;
for(var i in room) {
if(room[i].time < time){
spliceIndex = i + 1;
}
}
console.log(spliceIndex);
Et la console lit comme suit: 01
- ce qui signifie que 1 est concaténé ce qui signifie en outre que i
est une chaîne, et non un entier comme prévu. Casting l'index à l'entier fixé les problèmes, mais je me cognais la tête pendant des heures .... Quelqu'un peut-il expliquer pourquoi cela se passe-t-il? Parce que je reçois cela sur Firefox 3.5 et Safari 4.
Pas une réponse à votre question, mais vous pouvez utiliser hasOwnProperty dans votre pour ... dans les boucles: http://stackoverflow.com/questions/85992/how-do-i-enumerate-the-properties-of -a-javascript-object –