iterableタイプの遍歴方式
5274 ワード
ループ
例:
また、
いくつかのパラメータに興味がない場合は、JavaScriptの関数呼び出しはパラメータが一致する必要がないため、無視できます.例えば、
Array
は下付きループを採用することができ、ループMap
とSet
は下付きループを使用することができない.集合型を統一するために、ES 6規格は新しいiterable
型を導入し、Array
、Map
およびSet
はいずれもiterable
型に属する.iterable
型を有する集合は、新しいfor ... of
サイクルによって巡回することができる.ただし、ブラウザは新しいバージョンでなければサポートされません.例:
for ... of
サイクルで集合を巡回し、次のように使用します.var a = ['A', 'B', 'C'];
var s = new Set(['A', 'B', 'C']);
var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
for (var x of a) { // Array
console.log(x);
}
for (var x of s) { // Set
console.log(x);
}
for (var x of m) { // Map
console.log(x[0] + '=' + x[1]);
}
また、
iterable
のタイプに組み込まれた遍歴方法もあり、forEach()
の方法はES 5である.1標準が導入されました.Set
はArray
と似ていますが、Set
にはインデックスがありません.したがって、コールバック関数の最初の2つのパラメータは要素自体です.var s = new Set(['A', 'B', 'C']);
s.forEach(function (element, sameElement, set) {
console.log(element);
});
Map
のコールバック関数パラメータは、value
、key
、およびmap
の順である.var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
m.forEach(function (value, key, map) {
console.log(value);
});
いくつかのパラメータに興味がない場合は、JavaScriptの関数呼び出しはパラメータが一致する必要がないため、無視できます.例えば、
Array
のelement
を得るだけです.var a = ['A', 'B', 'C'];
a.forEach(function (element) {
console.log(element);
});