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テーブル名の大文字と小文字を区別しない設定方法の詳細な説明

デフォルトでは、Linux の MySQL はテーブル名の大文字と小文字を区別します。 MySQL ...

Linux での MySQL 5.7 の導入とリモート アクセス構成

前書き: 最近、私はパートナーとチームを組んで .NET Core プロジェクトに取り組む予定です。...

Vue はアップロードした画像に透かしを追加できるようになりました (アップグレード版)

vueプロジェクトでは、アップロードした画像に透かしを追加して参照できるようにするアップグレード版...

埋め込みJavaScriptと外部リンクの基本的な応用方法

目次埋め込みJavaScriptと外部リンクの基本的な応用JavaScript の記述方法には、イン...

MySQLを監視するためのbinlogログ解析ツールの詳しい説明:Canal

Canal は、Java を使用して開発された Alibaba のオープンソース プロジェクトです...

JavaScript進捗管理の詳しい説明

目次序文質問原理テスト序文プログラムを作成するときに、読み込みの進行状況やアップロードの進行状況など...

MYSQL8.0.13 無料インストール版 設定チュートリアル例 詳細説明

1. ダウンロード、例として8.0を取り上げますダウンロードアドレス: https://dev.my...

Dockerボリューム権限管理の詳細な説明

ボリュームデータボリュームは Docker の重要な概念です。データ ボリュームは、1 つ以上のコン...

Linux 上のカラフルな猫

Linux システムを使用したことがある友人なら、 catコマンドを使用したことがあるはずです。もち...

HTML での一般的なリダイレクト接続の例コード

コードをコピーコードは次のとおりです。 window.location.href="zcb...

dubbo での Zookeeper リクエストのタイムアウト問題: mysql8.0.15 に接続する mybatis+spring の構成

ここ2日間Javaを復習するつもりなので、練習にdubboを使ってショッピングモールプロジェクトを書...

MySQL 学習データベースバックアップの詳細な説明

目次1.DB、DBMS、SQL 2. データベースの特徴3. SQL分類4. MySQLを起動および...

1 行または複数行のテキストがオーバーフローしたときに省略記号を表示する CSS を実装する方法

1. 単一行オーバーフロー1. 1 行がオーバーフローした場合、超過部分は表示されます...または、...

MySQL インデックスがソートに与える影響の分析例

この記事では、例を使用して、MySQL インデックスがソートに与える影響を説明します。ご参考までに、...