542 votes

Pour... Dans les boucles en javascript - principales paires valeur

Je me demandais si il existe un moyen de faire quelque chose comme une boucle foreach PHP en JavaSript. La fonctionnalité que je cherche est quelque chose comme ceci : (extrait de PHP)

Je regardais la JS boucle, mais il semble y avoir aucun moyen de spécifier le . Si je fais cela avec un « normal » pour la boucle ( `` ), est-il possible de récupérer la clé = > valeur paires ?

560voto

J0HN Points 10486
<pre><code></code><p><code></code><code></code>vraiment avoir cette propriété, plutôt que de l’ai hérité de son prototype. Un peu plus simple serait :</p><pre><code></code></pre><p><code></code><code></code><code></code><code></code><code></code><code></code>etc..)</p></pre>

344voto

goatslacker Points 1777

Personne n’a mentionné `` donc je vais en parler.

145voto

Paulpro Points 54844

Le `` va travailler pour vous. Si vous pensez d’un objet comme une carte :

72voto

Zirak Points 13656
<pre><code></code><p>La syntaxe de php est juste sucre.</p></pre>

28voto

Felix Kling Points 247451

Je suppose que vous savez qu' i est la clé et que vous pouvez obtenir la valeur par l'intermédiaire d' data[i] (et veulent juste un raccourci pour cela).

ECMAScript5 introduite forEach [MDN] pour les tableaux (il semble que vous avez un tableau):

data.forEach(function(value, index) {

});

Le MDN documentation fournit une cale pour les navigateurs ne supportant pas la.

Bien sûr, cela ne fonctionne pas pour les objets, mais vous pouvez créer une fonction similaire pour eux:

function forEach(object, callback) {
    for(var prop in object) {
        if(object.hasOwnProperty(prop)) {
            callback(prop, object[prop]);
        }
    }
}

Depuis que vous avez marqué la question avec , jQuery fournit $.each [docs] qui passe en boucle sur les deux, tableau d'objet et les structures.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X