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; }
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!