ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の forEach ループを短絡するにはどうすればよいですか?

JavaScript の forEach ループを短絡するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-25 07:03:44399ブラウズ

How to Short-Circuit a JavaScript forEach Loop?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。