JavaScriptはオブジェクトのすべての属性を巡回します.

663 ワード

JavaScriptでは、多くの内蔵データ構造(例えば、Aray)にデフォルトのディレイジェネレータがあり、for...ofサイクルを直接使用することができます.
たとえば:
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
...