web-dev-qa-db-fra.com

"Continuer" à Lodash forEach

Je regardais les différences entre les bibliothèques Underscore et Lodash et je suis tombé sur un problème concernant _.each/_.forEach.

Dans Underscore, la fonction _.each ne peut pas sortir du bouclage. Lors de l'utilisation de return false, cela ne fonctionnait que comme une instruction "continue". (ce qui était la fonctionnalité prévue dans mon cas) = ​​Cela force la prochaine itération de la boucle à avoir lieu, en sautant tout code entre les deux.

Dans Lodash, en revanche, retourner false indique à _.forEach () que cette itération sera la dernière. Existe-t-il un moyen de rendre le comportement "continuer" également fonctionnel dans Lodash?

Merci.

24
IceWhisper

Dans Lodash, en revanche, retourner false indique à _.forEach () que cette itération sera la dernière. Existe-t-il un moyen de rendre le comportement "continuer" également fonctionnel dans Lodash?

Vous pouvez retourner true, ou juste un seul return (qui retourne undefined), cette valeur est différente de nécessaire false for "quittez l'itération plus tôt en renvoyant explicitement false."

_.forEach([1, 2, 3, 4, 5], function (a) {
    if (a < 3) return;       // continue
    console.log(a);
    if (a > 3) return false; // break
    // return undefined;     // continue, undefined is the standard value of ending a function
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.min.js"></script>
45
Nina Scholz