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 の使用方法の詳細な説明

推薦する

MySQLでSQLクエリ文がどのように実行されるかを分析する

目次1. MySQL論理アーキテクチャの概要2. コネクタクエリキャッシュ4. パーサー5. オプテ...

新しい Linux ファイル権限設定における umask の詳細な理解

序文起源は質問 1 です: umask が 022 に設定されている場合、作成するファイルのデフォル...

Vueプロジェクトでよく使われる実践的なスキルのまとめ

目次序文1. マルチレベルのデータとイベントの配信には$attrsと$listenersを使用する2...

mysqlはコンマに基づいてデータ行を複数の行に分割します

目次分離効果コマンドラインの説明関与する機能分離効果-- 別居前1,2,3,4 -- 別居後1 2 ...

JavaScript における clientWidth、offsetWidth、scrollWidth の違い

1. コンセプトこれらはすべて Element の属性であり、要素の幅を示します。 Element....

Typescript+React でモバイルと PC でシンプルなドラッグ アンド ドロップ効果を実現

この記事では、モバイルとPCで簡単なドラッグアンドドロップ効果を実現するためのTypescript ...

MySQL フラッシュバック ツール binlog2sql の詳細なインストールと設定のチュートリアル

概要binlog2sql は、Python で開発されたオープンソースの MySQL Binlog ...

MySQLテクノロジーにおけるInnoDBロックの詳細な説明

目次序文1. ロックとは何ですか? 2. InnoDBストレージエンジンのロック2.1 ロックの種類...

Dockerコンテナとホストマシン間の8時間の差の問題を解決する

デプロイに docker-compose を使用すると、出力ログと関連イベントが検証されて出力される...

Dockerデータのバックアップとリカバリプロセスの詳細な説明

データのバックアップ操作は非常に簡単です。次のコマンドを実行します。 docker run --vo...

MySQLのさまざまなロックの概念的理解

楽観的ロック楽観的ロックは、主にデータ バージョン記録メカニズムに基づいて実装され、通常はデータベー...

MySQL 内部結合の使用例 (必読)

文法規則 列名を選択 テーブル名1から INNER JOIN テーブル名2 ON テーブル名1.列名...

LinuxとGNUシステムの関係の詳細な説明

目次私たちが毎日実行している Linux システムとは何でしょうか? LinuxカーネルとGNUシス...

Linux でシステム ディスクを初期化した後にデータ ディスクを再マウントする方法

Linuxインスタンスでシステムディスクを初期化した後、データディスクを再マウントするLinux イ...

Windows 10 1903 エラー 0xc0000135 の解決方法 [推奨]

Windows 10 1903 は、2019 年に Microsoft がリリースした Windo...