Maison > interface Web > js tutoriel > Comment court-circuiter une boucle JavaScript forEach ?

Comment court-circuiter une boucle JavaScript forEach ?

Barbara Streisand
Libérer: 2024-12-25 07:03:44
original
395 Les gens l'ont consulté

How to Short-Circuit a JavaScript forEach Loop?

Short Circuit Array.forEach : Explorer des méthodes alternatives d'interruption

Dans les paradigmes de programmation traditionnels, l'instruction break permet la terminaison immédiate des boucles ou du contrôle des blocages de flux. Cependant, la nouvelle méthode forEach en JavaScript n'a pas d'équivalent intégré. Cela soulève la question : comment pouvons-nous reproduire le comportement de break dans le contexte de forEach ?

Les tentatives précédentes d'implémentation d'un break manuel en utilisant return, return false ou break se sont révélées infructueuses. Return n'arrête pas l'itération et break entraîne une erreur d'exécution.

Heureusement, il existe une solution alternative qui exploite la gestion des exceptions. En lançant une exception personnalisée, nous pouvons efficacement court-circuiter 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;
}
Copier après la connexion

L'exception personnalisée BreakException est instanciée et levée dans le rappel forEach lorsque la condition souhaitée est remplie. Cela amène le bloc try à interrompre l'exécution et à passer au bloc catch, interrompant ainsi la boucle. Il est important de gérer les erreurs autres que BreakException dans le bloc catch pour éviter un comportement inattendu.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal