forEach 関数内の return の動作を理解する
JavaScript では、forEach 関数内の return キーワードの動作について誤解があることがよくあります。 。この記事は、その使用目的を明確にすることを目的としています。
次のコード スニペットを考えてみましょう:
$('button').click(function () { [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); }); });
このコードでは、反復を途中で停止するために forEach ループ内で return ステートメントが使用されています。ただし、コードは引き続き配列内の後続の要素を警告します。なぜこのようなことが起こるのでしょうか?
forEach の return の本質
一般的な考えに反して、forEach 関数内の return ステートメントは、forEach 関数内の return ステートメントの意味が異なります。 for や while などのループ構造。 forEach では、return はループの早期終了を意味しません。
Mozilla Developer Network の説明
Mozilla Developer Network の公式ドキュメントによると、
「スローする以外に forEach() ループを停止または中断する方法はありません」例外です。そのような動作が必要な場合、forEach() メソッドは間違ったツールです。
代替アプローチ
条件付きで停止することが目的の場合ループの反復では、利用可能な代替メソッドがあります:
以上がJavaScript で「return」が「forEach」ループを中断しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。