ホームページ >ウェブフロントエンド >jsチュートリアル >`Array.forEach()` を早期に停止するにはどうすればよいですか?

`Array.forEach()` を早期に停止するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-03 09:56:39158ブラウズ

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

Array.forEach からの脱却

Array.forEach() メソッドは配列を反復処理するための強力なツールですが、反復プロセスを途中で停止する機能。これは、特定の条件に基づいて操作を短縮する必要がある場合に障害となる可能性があります。

次のコードを考えてみましょう:

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

このコードは、開始されるとすぐに反復を停止しようとします。値 1 を持つ要素が見つかりました。ただし、break ステートメントは、forEach コールバック内では何の効果もありません。

目的の動作を実現するには、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 という名前のカスタム例外が作成されます。値 2 を持つ要素が見つかると、例外がスローされ、ループが終了します。 catch ブロックは、BreakException がスローされた場合にのみループの実行を停止し、他の例外によってプログラムがクラッシュするのを防ぎます。

このアプローチを使用すると、Array.forEach 反復内で Break ステートメントの機能をシミュレートできます。を使用すると、特定の条件が満たされたときにループを終了できます。

以上が`Array.forEach()` を早期に停止するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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