Maison >interface Web >js tutoriel >Comment puis-je arrêter `Array.forEach()` plus tôt ?

Comment puis-je arrêter `Array.forEach()` plus tôt ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-03 09:56:39146parcourir

How Can I Stop `Array.forEach()` Early?

Sortir de Array.forEach

La méthode Array.forEach() est un outil puissant pour itérer sur des tableaux, mais il lui manque possibilité d’arrêter prématurément le processus d’itération. Cela peut être un frein lorsque vous devez court-circuiter l'opération en fonction d'une condition spécifique.

Considérez le code suivant :

[1, 2, 3].forEach(function(el) {
    if (el === 1) break;
});

Ce code tente d'arrêter l'itération dès que l'élément avec la valeur 1 est rencontré. Cependant, l'instruction break n'a aucun effet dans le rappel forEach.

Pour obtenir le comportement souhaité, vous devez lever une exception qui interrompra l'exécution de la boucle forEach. Voici un exemple :

var BreakException = {};

try {
  [1, 2, 3].forEach(function(el) {
    console.log(el);
    if (el === 2) throw BreakException;
  });
} catch (e) {
  if (e !== BreakException) throw e;
}

Dans ce code, une exception personnalisée nommée BreakException est créée. Lorsque l'élément avec la valeur 2 est rencontré, l'exception est levée, provoquant la sortie de la boucle. Le bloc catch garantit que l'exécution de la boucle s'arrête uniquement si l'exception BreakException est levée, empêchant ainsi d'autres exceptions de faire planter le programme.

En utilisant cette approche, vous pouvez simuler la fonctionnalité d'une instruction break dans une itération Array.forEach. , vous permettant de terminer la boucle lorsque des conditions spécifiques sont remplies.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn