ホームページ > ウェブフロントエンド > jsチュートリアル > 「return」はJavaScriptの「forEach」ループを停止しますか?

「return」はJavaScriptの「forEach」ループを停止しますか?

DDD
リリース: 2025-01-04 21:07:40
オリジナル
927 人が閲覧しました

Does `return` Stop a JavaScript `forEach` Loop?

forEach 関数での return の使用法を理解する

JavaScript の forEach 関数での return キーワードの使用の効果は限定的です。

の影響return

forEach コールバック関数内では、return はその特定のコールバックの実行にのみ影響します。これはループを中断せず、後続のコールバックの実行を妨げません。したがって、提供された例では:

[1, 2, 3, 4, 5].forEach(function (n) {
   if (n == 3) {
      // it should break out here and doesn't alert anything after
      return false
   }
   alert(n)      
})
ログイン後にコピー

n が 3 に等しい場合、コールバックは false を返します。これは、このコンテキストでは「未定義」を返すのと同じです。ただし、ループは期待どおりに続行され、次の番号 (4) が警告されます。

代替反復方法

ループから抜け出す必要がある場合条件に基づいて、次のような代替反復方法の使用を検討してください。例:

  • 単純なループ:

    for (let i = 0; i < array.length; i++) {
    if (array[i] == 3) {
      break;
    }
    alert(array[i]);
    }
    ログイン後にコピー
  • Array.prototype.every():

    array.every((n) => {
    if (n == 3) {
      return false; // Exit the loop
    }
    alert(n);
    return true;
    });
    ログイン後にコピー

Mozilla 開発者ネットワークドキュメント

Mozilla Developer Network ドキュメントに記載されているように:

「例外をスローする以外に forEach() ループを停止または中断する方法はありません。そのような必要がある場合は、この動作では、forEach() メソッドは間違ったツールです。"

以上が「return」はJavaScriptの「forEach」ループを停止しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート