Short Circuit Array.forEach: 代替の割り込み方法の探索
従来のプログラミング パラダイムでは、break ステートメントによりループまたは制御を即時に終了できます。フローブロック。ただし、JavaScript の新しい forEach メソッドには、同等の組み込みメソッドがありません。ここで疑問が生じます: forEach のコンテキスト内で Break の動作をどのように複製できるでしょうか?
return、return false、または Break を使用して手動ブレークを実装するという以前の試みは失敗に終わりました。 Return では反復は停止せず、break では実行時エラーが発生します。
幸いなことに、例外処理を利用する代替ソリューションがあります。カスタム例外をスローすることで、forEach ループを効果的に短縮できます。以下に例を示します。
var BreakException = {}; try { [1, 2, 3].forEach(function(el) { console.log(el); if (el === 2) throw BreakException; }); } catch (e) { if (e !== BreakException) throw e; }
カスタム例外 BreakException は、必要な条件が満たされた場合にインスタンス化され、forEach コールバック内でスローされます。これにより、try ブロックが実行を停止し、catch ブロックに進み、事実上ループが中断されます。予期しない動作を避けるために、Catch ブロック内で BreakException 以外のエラーを処理することが重要です。
以上がJavaScript の forEach ループを短絡するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。