js の Array.forEach でループを終了する方法の例

js の Array.forEach でループを終了する方法の例

forEach() メソッド

構文: array.forEach(callback(currentvalue,index,arr),thisValue)


callback は配列内の各要素に対して実行される関数で、1 ~ 3 個のパラメータを受け入れることができます。

  • currentvalueパラメータは配列の現在の要素を表します。必須パラメータです。
  • インデックスパラメータは現在の要素のインデックスを表します。オプションパラメータ
  • arr パラメータは、現在の要素が属する配列を示します。これはオプションのパラメータです。

thisValue は、コールバック関数 callback() が実行されたときの this ポイントを表します。オプションのパラメータ。書き込まれていない場合、デフォルトではウィンドウのグローバルを指す。

    var arr = [1, 3, 5, 13, 2];
    var res = arr.forEach(function(item,index) {
        console.log(`配列の${index+1}番目の要素は${item}です`);
    })
    console.log(res); // forEachの戻り値は未定義です。

実行結果:

js の Array.forEach のループから抜け出す方法

forEach は break や return によってループから抜け出すことはできません。ループから抜け出す一般的な方法は、例外をスローすることです。

 試す {
   配列 = [1, 2, 3, 4] とします。
   配列.forEach((項目, インデックス) => {
     (項目 === 3)の場合{
       throw new Error('end')//エラーが発生した場合、ループは終了します} else {
       コンソール.log(アイテム)
     }
   })
 } キャッチ (e) {
 }

この書き方は実は非常に面倒です。

解決:

1. 代わりに every を使用します。

配列 = [1, 2, 3, 4] とします。
配列.every((項目, インデックス) => {
  (項目 === 3)の場合{
    真を返す
  } それ以外 {
    コンソール.log(アイテム)
  }
})

2. 自分で書いてみる😁

//ループから抜け出せる配列のトラバーサル Array.prototype.loop = function(cbk) {
  //現在の配列が空かどうかを判断します if (this?.length) {
    (i = 0 とします; i < this.length; i++) {
      stop = cbk(this[i], i, this) とします。
      //ループを停止するかどうかを判定する if (stop) {
        壊す
      }
    }
  }
}


配列 = [1, 2, 3, 4] とします。
配列.loop ((項目, インデックス) => {
  if (item === 3) {
    真を返す
  } それ以外 {
    コンソール.log(アイテム)
  }
})

要約する

Array.forEach が js のループから抜け出すことに関するこの記事はこれで終わりです。Array.forEach が js のループから抜け出すことに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。皆様が今後も 123WORDPRESS.COM を応援してくれることを願っています。

以下もご興味があるかもしれません:
  • JavaScript Array.reduce ソースコードの詳細な説明
  • JavaScript Array.flat() 関数の使用分析
  • JavaScript Array.prototype.slice の使用手順
  • JavaScript マッパー array.flatMap()

<<:  Vue はフォームデータ検証のサンプルコードを実装します

>>:  Baota LinuxパネルにFTP接続できない問題の解決方法の詳細な説明

推薦する

Nginx+Tomcat 負荷分散クラスタのインストールと構成のケースの詳細な説明

目次序文1. Nginx+Tomcat 2. Nginxサーバーを構成する3. Tomcatアプリケ...

JavaScript の組み込み Date オブジェクトの詳細な説明

目次日付オブジェクト日付オブジェクトの作成新しい日付()日付を取得する()取得日()月を取得する()...

MySQL データベースは SQL ステートメントを知っている必要があります (拡張バージョン)

拡張版です。質問とSQL文は以下の通りです。ユーザー テーブルを作成し、id、name、gender...

CSSで記事の区切り線のスタイルを実装するさまざまな方法のまとめ

この記事では、CSS で記事の区切り線を実装するさまざまな方法をまとめています。区切り線はページを美...

Linux システムでのルート ディレクトリ拡張の概要

1. Linuxディスクの状態を確認する df -lh lsblkコマンドは、使用可能なすべてのブロ...

Docker で MySQL をデプロイする詳細なプロセス (Docker でデプロイされる一般的なアプリケーション)

以前にも紹介しました: docker (一般的なアプリケーションのデプロイ): docker dep...

Vue での this.$set の動的データバインディングのケーススタディ

インターネット上の this.$set の説明はわかりにくいと感じます。単一データ、オブジェクト、配...

Pure CSS と Flutter はそれぞれブリージング ライト効果を実現します (サンプル コード)

前回、非常に熱心なファンから、月を呼吸する光の効果にできるかどうか尋ねられました。月の大きさの写真が...

mysqld_multi を使用して単一のマシンに複数のインスタンスをデプロイする方法に関する MySQL チュートリアル

目次1. MySQLのコンパイルとインストール: 2. 最初のマルチインスタンス3307を準備する3...

forループ内のvarの問題の解決

序文var は ES5 における変数宣言方法です。var で変数を宣言するとループ変数がグローバル変...

Vue ElementUI で Excel ファイルを手動でサーバーにアップロードする方法の詳細な説明

目次概要プロパティ設定処理ロジック概要具体的な需要シナリオは次のとおりです。 Excel ファイルを...

JavaScript ES6 分割演算子の理解と応用

目次序文脱構築記号の役割使い方分割割り当ての適用アプリケーションの簡単な紹介JSONデータを抽出する...

WindowsシステムでPhPStudy MySQLの起動に失敗する問題を解決する

エラーを報告するApache\Nginx サービスは正常に起動しましたが、MySQL は起動に失敗し...

Linux および Unix サーバーのセキュリティを強化する方法

ネットワーク セキュリティは非常に重要なトピックであり、サーバーはネットワーク セキュリティにおける...

MySQLユーザー権限テーブルについての簡単な説明

MySQL はインストール時に自動的に mysql という名前のデータベースを作成します。mysql...