JavaScript 配列を走査する 5 つの方法

JavaScript 配列を走査する 5 つの方法

JavaScript でコードを記述する場合、for ループ、forEach ループ、map ループ、forIn ループ、forOf ループなど、複数の方法を使用して配列を走査できます。

1. forループ: 基本的でシンプル

これは配列を走査する最も基本的かつ一般的に使用される方法であり、さまざまな開発言語が一般的にこの方法をサポートしています。

arr = ['a','b','c','d','e'] とします。
(i = 0, len = arr.length; i < len; i++) の場合 {
  コンソール.log(i); // 0 1 2 3 4
  console.log(arr[i]); //abcde
}

2. forEach() メソッド: コールバック関数の使用

forEach() これは配列オブジェクトのメソッドであり、コールバック関数をパラメーターとして受け入れます。
コールバック関数には 3 つのパラメーターがあります。

  • 1番目: 配列要素(必須)
  • 2番目: 配列要素のインデックス値(オプション)
  • 3番目: 配列自体 (オプション)
arr = ['a','b','c','d','e'] とします。
arr.forEach((item,index,arr)=> {
  console.log(item); // abcde console.log(index); // 0 1 2 3 4
  console.log(arr); // ['a','b','c','d','e']
})

3. map() メソッド: コールバック関数の使用

forEach() メソッドと同じように使用されます。

var arr = [
  {名前:'a',年齢:'18'},
  {名前:'b'、年齢:'19'},
  {名前:'c'、年齢:'20'}
];
arr.map(関数(項目,インデックス) {
  if(item.name == 'b') {
    コンソール.log(インデックス) // 1
  }
})

4. for..in ループ: オブジェクトと配列の走査

for…in ループは、オブジェクトと配列をループするために使用できます。
ループオブジェクトに推奨されますが、JSON をトラバースするためにも使用できます。

obj = {
  名前: '王大奎'、
  年齢: '18',
  体重: '70kg'
}
for(var key in obj) {
  console.log(key); // 名前 年齢 体重
  console.log(obj[key]); // 王大奎 18 70kg
}
----------------------------
arr = ['a','b','c','d','e'] とします。
for(var key in arr) {
  console.log(key); // 0 1 2 3 4 は配列のインデックスを返します console.log(arr[key]) // abcde
}

5. for…of ループ: オブジェクトと配列の走査

配列をループする場合に推奨されます。

for...of には 3 つの新しいメソッドが用意されています。

  • key() はキー名のトラバースです。
  • value() はキー値のトラバースです。
  • entry() はキーと値のペアの走査です。
let arr = ['iFLYTEK', '政治と法律のBG', 'フロントエンド開発'];
for (let 項目の arr) { 
 console.log(item); // iFLYTEK 政治と法律 BG フロントエンド開発}
// 出力配列インデックス for (let item of arr.keys()) { 
 コンソール.log(アイテム); // 0 1 2
}
// 出力内容とインデックス for (let [item, val] of arr.entries()) { 
 console.log(item + ':' + val); // 0: iFLYTEK 1: 政治と法律 BG 2: フロントエンド開発}

6. 補足

6.1. 中断と継続の問題

forEach、map、filter、reduce、every、some関数では、 breakおよびcontinueキーワードは関数内にあるため有効になりませんが、関数はクロージャ トラップの問題を解決します。
break または continue を使用するには、 for、for...in、for...of、while使用できます。

6.2 配列とオブジェクト

配列要素を反復処理するには、 for(),forEach(),map(),for...of使用します。
オブジェクトのプロパティをループするには、 for...in使用します。

上記は、JavaScript 配列トラバーサルの 5 つの方法の詳細です。JavaScript 配列トラバーサルの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • JS でよく使用される配列トラバーサル方法と、パフォーマンス分析および比較の詳細な例
  • JavaScript 配列トラバーサルメソッドの分析例
  • JS 配列トラバーサル方法の詳細な分析 (推奨)
  • JavaScript の配列トラバーサル forEach() および map() メソッドとそれらの互換性のある記述方法の紹介
  • JavaScriptの配列トラバーサルのforとforの違いの詳細な説明
  • IE8 の JS 解析における属性と配列のトラバーサルの違いについての議論
  • JavaScript ブラウザはバインディング イベント引数の変換配列の配列トラバーサルを決定します
  • JS 配列トラバーサルにおける for、for in、for of、map、forEach の使い方と利点と欠点

<<:  MySQL グリーンバージョン設定コードと 1067 エラーの詳細

>>:  Dockerfile を使用して Java ランタイム環境のミラーを作成する方法

推薦する

IE6 および IE7 で DIV コンテナの固定高さを使用するためのヒント

IE6 と IE7 では CSS の解釈に多くの違いがあります。今日はそのうちの 1 つである高さに...

商品クエリ機能を実現するJavaScript

この記事の例では、商品検索機能を実現するためのJavaScriptの具体的なコードを参考までに共有し...

MySQL 5.7.17 のインストールと設定方法のグラフィックチュートリアル (Win7 の場合)

Windows 7 で MySQL 5.7.17 をインストールする方法についてのグラフィック チ...

Vue は、デスクトップから Web ページにファイルをドラッグするためのサンプル コードを実装します (画像/オーディオ/ビデオを表示できます)

効果使用する場合は、コードとスタイルを自分で最適化してください。画像を表示しない/ビデオとオーディオ...

Linux システムでの nginx サーバーのインストールと負荷分散構成の詳細な説明

nginx (エンジン x) は、高性能な HTTP およびリバース プロキシ サーバー、メール プ...

Reactは、読み込み、読み込み完了、読み込み失敗の3つの段階の原則分析を実装します。

最近ブログに書いたのですが、プロジェクトリストの中に写真がたくさんあり、最初は読み込みが遅いので、ス...

Web インタビュー Vue カスタム コンポーネントと呼び出しメソッド

輸入:プロジェクトの要件により、同じコードの一部をコンポーネントにカプセル化し、必要な場所にインポー...

MySQLデータベースのスケジュールバックアップを実装する方法

1. シェルスクリプトを作成する vim バックアップdb.sh 次のようにスクリプトを作成します。...

MySQL 8.0.11 MacOS 10.13 のインストールと設定方法のグラフィックチュートリアル

MacにMySQLデータベースをインストールし、環境変数を設定する手順を参考までに記録します。具体的...

Linux で XFS パーティション形式のルート ディレクトリを縮小する方法

目次序文システム環境現在のシステムパーティションレイアウトデータのバックアップレスキューモードに入る...

MySQL フラッシュリストとダーティページフラッシュメカニズム

1. レビューMySQL の起動後にバッファ プールが初期化されます。バッファ プールは N 個の空...

MySQLの自動増分主キーIDはこのように処理されません

MySQLの自動増分主キーIDは段階的に増加しません1. はじめにMySQL データベースにデータを...

HTMLでアンカーの位置を設定するためのいくつかの一般的な方法

HTML でアンカーの位置を設定する方法はいくつかあるので、ここで紹介します。 1. ID ポジショ...

Js クラスの構築と継承のケースの詳細な説明

JS のクラスの定義や継承は本当に多様なので、別のノートブックを開いて記録しておきます。意味オブジェ...

nginx を介して方向プロキシを実装するプロセスの図

この記事は主に、nginx を介して方向プロキシを実装するプロセスを紹介します。この記事のサンプル ...