2010-09-24 9 views
2

Soyons clairs, je ne demande pas (var i dans la liste) Je veux aussi la clé assignée à une variable.

Répondre

8

La clé est, en fait, la seule chose qui obtient attribuée:

var value; 
for(var key in list) { 
    value = list[key]; 
    // do something with key, value 
} 
+0

Vous avez raison en effet. Pourquoi je croyais le contraire pour être vrai, nfi. Merci! – Louis

1

Javascript ne possède pas cette fonctionnalité intégrée dans la langue. Le plus proche est la syntaxe for (... in ...) que vous avez déjà rejetée.

Regardez dans votre bibliothèque javascript pour cette fonctionnalité. Par exemple, le each() de jQuery toujours omniprésent.

+1

Je pense qu'il l'a simplement rejeté parce qu'il l'a mal compris. – Matchu

+1

Vrai, mais pour (... dans ...) peut introduire des bogues étranges dans votre code, et puis il y a toute l'étrangeté de hasOwnProperty. Beaucoup de raisons pour l'éviter même si vous le comprenez. –

+0

@AlanStorm Je suis tombé sur un post expliquant très bien vos préoccupations, je le comprends maintenant! http://stackoverflow.com/questions/1885317/strange-behavior-in-javascript-enhanced-for-in-loop/1885365#1885365 – Louis