js配列forEachインスタンスの詳細な使用方法

js配列forEachインスタンスの詳細な使用方法

1. forEach() は map() に似ています。これも渡された関数に各要素を順番に適用しますが、新しい配列は返しません。

2. forEach() は、配列を走査し、配列の各要素を呼び出してコールバック関数に渡すためによく使用されます。転送関数は値を返す必要はありません。

var arr = [7,4,6​​,51,1];
試してください{arr.forEach((item,index)=>{
      (項目<5)の場合{
       throw new Error("myerr") //myerrの新しいエラーメッセージを作成する
      }
      console.log(item)//ループが終了したことを示すために7のみを出力します})}catch(e){
            console.log(e.message);
      if (e.message!=="myerr") { //定義したエラーでない場合は、そのまま破棄します。throw e
      }
     }

知識ポイントの拡張:

手書き forEach

forEach()メソッドは、配列の各要素に対して指定された関数を 1 回実行します。

arr.forEach(callback(currentValue[, index[, array]])[, thisArg]);

  • 折り返し電話

    • 現在の値
      配列内で現在処理されている要素。
    • index オプション 処理中の現在の要素の配列内のインデックス。
    • 配列オプション
      forEach() メソッドが操作する配列。
    • thisArg オプションオプションのパラメーター。コールバック関数が実行されたときに this の値として使用されます。
  • 戻り値なし

forEach関数にthisArgパラメータが指定されている場合、そのパラメータはコールバック関数のthis値として使用されます。それ以外の場合、 this値はundefined になります。コールバック関数内のthisのバインディングは、関数が呼び出されたときの一般的なthisバインディング ルールに従って決定されます。

arr = [1, 2, 3, 4]とします。

arr.forEach((...item) => console.log(item));

// [1, 0, 配列(4)] 現在の値
関数カウンター() {
 this.sum = 0;
 カウント = 0;
}

// thisArg パラメータ (this) は forEach() に渡されるため、呼び出されるたびに、その this 値としてコールバック関数に渡されます。
Counter.prototype.add = function(配列) {
 配列.forEach(関数(エントリ) {
  this.sum += エントリ;
  ++これ.count;
 }、 これ);
 // ^---- 注記
};

定数obj = 新しいカウンター();
obj.add([2, 5, 9]);
オブジェクトの数;
// 3 === (1 + 1 + 1)
オブジェクトの合計;
// 16 === (2 + 5 + 9)

  • すべての配列にはこのメソッドがあります
  • コールバックパラメータは、各項目、インデックス、元の配列です。
Array.prototype.forEach = function(fn, thisArg) {
 var _this;
 if (typeof fn !== "関数") {
  throw "パラメータは関数である必要があります";
 }
 引数の長さが1より大きい場合
  _this = この引数;
 }
 Array.isArray(arr) の場合 {
  throw "forEach メソッドは配列でのみ使用できます";
 }

 for (let index = 0; index < arr.length; index++) {
  fn.call(_this, arr[インデックス], インデックス, arr);
 }
};

js 配列 forEach の例の詳細な使用法に関するこの記事はこれで終わりです。js 配列 forEach メソッドの使用法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JavaScript で知らない Object.entries の使い方
  • js 配列 fill() 充填メソッド
  • JavaScript配列の重複排除のいくつかの方法についての詳細な説明
  • 任意の長さの配列を作成または埋めるための JS のヒントの要約
  • JavaScript 配列と非配列オブジェクトのディープ クローンとシャロー クローンの原則の詳細な説明
  • JavaScript配列重複排除の詳細な説明
  • js 配列エントリ() 反復メソッドを取得する

<<:  CSS と HTML とフロントエンド テクノロジーのレイヤー図

>>:  MySQL データ型 DECIMAL の使用方法の詳細な説明

推薦する

JavaScript でロジック判定コードを最適化する方法

序文日常生活で使用する論理的判断文には、if...else...、switch...case...、...

WeChatミニプログラムページ間の価値転送を実装する方法の例

ミニプログラムページ間で値を渡すみなさんこんばんは。こんばんはと言うのは、これを夜に書いたからです。...

カレンダー効果を実現するJavaScript

この記事では、カレンダー効果を実現するためのJavaScriptの具体的なコードを参考までに紹介しま...

Reactは動的ポップアップウィンドウコンポーネントを実装します

UI コンポーネントを作成するときに、アニメーションを考慮しなければ、アニメーションを実現するのは非...

シェルスクリプトはNginxのaccess.logのPVを定期的にカウントし、APIに送信してデータベースに保存します。

1. PVとIPの統計一日のPV(ページビュー)をカウントする cat access.log | ...

PhpStormがVirtualBoxに接続できない問題を解決する

問題の説明: phpstorm の SFTP ホストを 192.168.122.1 に設定すると、接...

MySQLパスワードを変更するいくつかの方法

序文:データベースを日常的に使用すると、パスワードが単純すぎて変更する必要がある場合、パスワードの有...

Linux でのプロセスデーモン スーパーバイザーのインストール、構成、および使用

Supervisor は非常に優れたデーモン管理ツールです。自動起動、ログ出力、自動ログカットなど、...

MySQL 1130例外、リモートログインできない解決策

目次質問: 1. リモートログイン権限を有効にする: 2. MySQLの権限を更新します。 3. テ...

Linux環境でログファイルを表示するコマンドの詳細な説明

目次序文1. catコマンド: 2. moreコマンド: 3. lessコマンド: 4. headコ...

MySQLの挿入文字化け問題を解決する方法

問題の説明: MySQL に中国語の文字を挿入する場合、または MySQL では中国語の文字が正常に...

シンプルなページング効果を実現するjQuery+Ajax

この記事では、ページング効果を実現するためのjquery+Ajaxの具体的なコードを参考までに紹介し...

WeChat アプレット wxs 日付と時刻処理の実装例

目次1. 日付までのタイムスタンプ2. UTCを北京時間に変換するWXS (WeiXin Scrip...

Vue の基本リスナーの詳細な説明

目次Vueのリスナーとは何かリスナーの使い方vue リスナーウォッチVue リスナー - ディープリ...

MySQL 5.7 インストール不要の設定グラフィックチュートリアル

Mysql は人気があり、使いやすいデータベース ソフトウェアです。以下は、mysql の無料インス...