JavaScriptはオブジェクトのすべての属性を巡回します.
663 ワード
JavaScriptでは、多くの内蔵データ構造(例えば、Aray)にデフォルトのディレイジェネレータがあり、for...ofサイクルを直接使用することができます.
たとえば:
ただし、オブジェクトのすべての属性を繰り返したい場合(特定の順序を保証する必要がない場合)は、Objects.keys(.)を介して一つのarrayに戻ることができます.
ES 6から、一つのiterableからサブジェネレータを抽出する方法は、iterableは専用のES 6記号値Symbol.iteratorという関数をサポートしなければならない.
たとえば:
a = [1,2,3,4,5]
for (let el of a) {
console.log(el);
}
// 1 2 3 4 5
しかし、Objectは故意にarrayのようにデフォルトのローズマリーがあるとは思わない.ただし、オブジェクトのすべての属性を繰り返したい場合(特定の順序を保証する必要がない場合)は、Objects.keys(.)を介して一つのarrayに戻ることができます.
let obj = {...}
for (let key of Objects.keys(obj)) {...}
シーケンサ:iterableは、next()の方法を持っています.ES 6から、一つのiterableからサブジェネレータを抽出する方法は、iterableは専用のES 6記号値Symbol.iteratorという関数をサポートしなければならない.
let a = [1,2,3,4,5]
let it = a[Symbol.iterator]();
it.next().value; // 1
it.next().value; // 2
...