配列トラバーサル
1. forEach()
arr.forEach(callback(currentValue [, index [, array]])[, thisArg])
-
callback
配列内の各要素に対して実行される関数で、1 ~ 3 個の引数を取ります。
currentValue
処理中の配列内の現在の要素。index
処理中のオプションの配列内の現在の要素のインデックス。array
オプションの配列自体。 -
thisArg
オプションオプションのパラメーター。コールバック関数実行
callback
時値として使用されますthis
。
例
let arr = [1,2,3,4,5]
arr.forEach(function(value,index){
arr[index] +=1;
})
console.log(arr); //输出 [2,3,4,5,6]
2.マップ()
新しい配列を作成します。各要素は、配列内の各要素を呼び出して、提供された関数を実行します。
-
forEach と map の違い
forEach() メソッドは実行結果を返しませんが、未定義です。
つまり、 forEach() は元の配列を変更します。map() メソッドは新しい配列を取得して返します。
3. 一部()
複数の要素が条件を満たしている限り配列をトラバースし、true を返し、それ以外の場合は false を返し、ループを終了します。
arr.some(callback(element[, index[, array]])[, thisArg])
4.every()
配列を反復処理し、各要素が条件を満たす場合は true を返し、そうでない場合は false を返します。
5. for…in
主にオブジェクトをトラバースするために使用されます。for() の形式: key はfor(key in obj){}
、obj オブジェクトの各キーと値のペアのキーを表します
6. for…of
var arr = ['a', 'b', 'c', 'd'];
for (let a in arr) {
console.log(a); // 0 1 2 3
}
for (let a of arr) {
console.log(a); // a b c d
}
上記のコードは、**for...in ループがキー名を読み取り、for...of ループがキー値を読み取ることを示しています。** for...of ループを介して配列のインデックスを取得する場合は、配列インスタンスの entry メソッドと keys メソッドを使用できます。
for...in ループにはいくつかの欠点があります
。 ① 配列のキー名は数字ですが、for...in ループは "0"、"1"、"2" などのキー名として文字列を使用します。
② for...in ループは数値キー名だけでなく、手動で追加された他のキー (プロトタイプ チェーンのキーを含む) もトラバースします。
③場合によっては、for...in ループが任意の順序でキー名をトラバースします。
for...in ループは、主にオブジェクトのトラバース用に設計されており、配列のトラバース用ではありません。for...of ループには、
for...in と同じ簡潔な構文がありますが、for...in の欠点はありません。
forEach メソッドとは異なり、break、continue、return で使用できます。
すべてのデータ構造をトラバースするための統一された操作インターフェースを提供します