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接続できない問題の解決方法の詳細な説明

推薦する

jsを使用して簡単なスネークゲームを書く

この記事では、参考までに、jsで書かれたシンプルなスネークゲームの具体的なコードを紹介します。具体的...

Vueでeslintを使用する方法の詳細な説明

目次1. 説明2. 関連する依存パッケージをダウンロードする3. 設定ファイル .eslintrc....

Vue のすべてのカプセル化方法の簡単な概要

目次1. カプセル化API 2. グローバルツールコンポーネントを登録する3. グローバル関数をカプ...

IE7でソースファイルを含むページを開くとページが空白になる問題の解決方法

質問:私のブログのエンコーディングは utf-8 です。ページを開くと空白になっていることもあります...

https ウェブサイトを展開し、Nginx でアドレス書き換えを構成するための詳細な手順

Nginx は、高性能な Web サイト サーバーおよびリバース プロキシ サーバーであり、IMAP...

CSS の Flex レイアウトを使用してシンプルな縦棒グラフを作成する方法

以下は、Flex レイアウトを使用した棒グラフです。 HTML: <div class=&qu...

MySQL の 4 つのトランザクション分離レベルの詳細な説明

この実験のテスト環境: Windows 10+cmd+MySQL5.6.36+InnoDB 1. ト...

Dockerイメージの作成、保存、読み込み方法

イメージを作成する方法は 3 つあります。既存のイメージに基づいてコンテナを作成する、ローカル テン...

MySQLデータベースの基礎知識

目次1. データベースを理解する1.1 データベースとデータ構造の関係1.2 なぜデータベースが必要...

...

鏡像効果を実現する JavaScript キャンバス

この記事では、JavaScriptキャンバスでミラーイメージ効果を実現するための具体的なコードを参考...

Node.js でのクラスター作成に関する簡単な説明

目次クラスタクラスターの詳細クラスター内のイベントクラスター内のメソッドクラスター内の属性クラスター...

フォント名に従ってフォントを呼び出すと、ブラウザに必要なフォントが表示されます。

質問 1: ブラウザに必要なフォントを表示するように指示するにはどうすればよいでしょうか? フォント...

ライフゲームの JavaScript 実装

目次コンセプト紹介論理的ルール完全なコード主な実装コンセプト紹介セルオートマトンとは、コンピュータの...

Dockerfile の一般的なコマンドの概要

構文の構成: 1 注釈情報2 コマンド --- パラメータ [通常は大文字 | 実際には大文字と小文...