ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript forEach の無限ループから抜け出すには?

JavaScript forEach の無限ループから抜け出すには?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-17 21:18:30807ブラウズ

How to Break from Infinite Looping in JavaScript forEach?

JavaScript forEach での無限ループの回避

問題:
Node.js と Mongoose で、forEach ループ内で再帰関数を実行する無限ループが発生する可能性があります。これを防ぐにはどうすればよいでしょうか?

答え:
forEach ループは従来のループ構造を持たずに単一の操作として実行されるため、ループから直接抜け出すことはできません。ただし、破壊動作を模倣する別の方法もあります。

1.コンテキストの使用:
コンテキストとして使用する 2 番目の引数を forEach に渡し、そこにブール変数を格納します。 forEach 関数内で if ステートメントを使用してブール値を確認し、必要に応じて終了します。

2.例外処理:
forEach ループ全体を try-catch ブロックで囲み、中断する場合は例外をスローします。この方法は、パフォーマンスとコードの保守性に影響を与えるため、あまり推奨されません。

3. Every() または some() の使用:
forEach の代わりに、every() または some() メソッドを使用します。これにより、戻り値に基づいてカスタムの反復、制御、早期終了が可能になります。

every() の使用例:

<code class="javascript">['a', 'b', 'c'].every(function(element, index) {
  // Do your thing, then:
  if (you_want_to_break) return false;
  else return true;
});</code>

以上がJavaScript forEach の無限ループから抜け出すには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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