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