Je suis à la recherche d’un moyen d’arrêter les itérations de la méthode .each() underscore.js, mais impossible de trouver la solution. each() de jQuery peut se briser si vous retournez false. Y a-t-il un moyen d’arrêter le trait de soulignement each() ?
Réponses
Trop de publicités?Vous ne pouvez pas casser à partir de l' each
méthode-il émule le natif forEach
comportement de la méthode, et le natif forEach
ne fournit pas d'échapper à la boucle (autres que de lancer une exception).
Cependant, tout espoir n'est pas perdu! Vous pouvez utiliser l' Array.every
méthode. :)
À partir de ce lien:
every
s'exécute à la condition d'callback
fonction une fois pour chaque élément présent dans la matrice jusqu'à ce qu'il trouve un endroit oùcallback
renvoie une valeur false. Si un tel élément est trouvé, l'every
méthode retourne false.
En d'autres termes, vous pourriez faire quelque chose compliquée comme ceci (lien vers JSFiddle):
[1, 2, 3, 4].every(function(n) {
alert(n);
return n !== 3;
});
Cette alerte 1
par 3
, puis "pause" en dehors de la boucle.
Vous êtes à l'aide de underscore.js, de sorte que vous serez heureux d'apprendre qu'il n' fournir un every
méthode-ils l'appellent every
, mais en tant que lien mentionne, ils fournissent également un alias appelé all
.