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 ランタイム環境のミラーを作成する方法

推薦する

MYSQL データベースの基礎 - 結合操作の原理

結合では、ネスト ループ結合アルゴリズムが使用されます。ネスト ループ結合には 3 つの種類がありま...

Linuxでサーバーのハードウェア情報を表示する方法

みなさんこんにちは。今日は12連休ですが、何かお買い物はしましたか?今日は「Linux View S...

MySQL 8.0.11 インストール概要チュートリアル図

インストール環境: CAT /etc/os-release CentOS システムのバージョン情報を...

JavaScript ES 新機能ブロックスコープ

目次1. ブロックスコープとは何ですか? 2. ブロックスコープが必要なのはなぜですか? 3. 関数...

画像をラベルとして使用すると、IE では for 属性が機能しません。

例えば:コードをコピーコードは次のとおりです。 <input type="check...

DockerプライベートイメージライブラリとAlibaba CloudオブジェクトストレージOSSの簡単な分析

Docker プライベートイメージライブラリDockerプライベートイメージライブラリとAlibab...

JSブラウザストレージの詳しい説明

目次導入クッキークッキーとはクッキー生成方法クッキーの適用シナリオクッキーのデメリット回避策ローカル...

ポップアップウィンドウの上下中央左右と透明な背景のロックウィンドウ効果を実現する CSS

クリック後にポップアップボックスを実現し、上下左右に中央揃えし、灰色の透明マスクを追加してウィンドウ...

Linuxシステムのログの詳細な紹介

目次1. ログ関連サービス2. システム内の共通ログファイル1. ログ関連サービスCentOS 6....

Vue プロジェクトで SVG コンポーネントをパッケージ化して構成する手順

最近新しい会社に入社しました。プロジェクトに携わった後、タイトルアイコンが svg で作られていると...

HTML外部参照CSSファイルが効果を発揮しない理由の分析と解決

フロントエンドの初心者として、私は数日間フロントエンドをいじってみました。 。今日、私は自分が固く信...

MIME タイプの完全なリスト

MIME タイプとは何ですか? 1. まず、ブラウザがコンテンツを処理する方法を理解する必要がありま...

Eclipse は Tomcat を構成しますが、Tomcat には無効なポート解決策があります

目次1. EclipseがTomcatを構成する2. Tomcat の無効なポートの解決方法方法1:...

Angular のパフォーマンス最適化: サードパーティ コンポーネントと遅延読み込みテクノロジー

目次概要環境の準備プロジェクトのパフォーマンスに影響を与える要因遅延読み込みとは何ですか?プロジェク...

MySQL のファントムリード問題を解決する方法

目次序文1. ファントムリーディングとは何ですか? 2. ファントムリーディングの問題点は何ですか?...