概要
javascriptで反復制御をする場合の書き方をおさらいします。
for in 文はループ中にキーを出力します。
//for in ループ
let tmp = {a: 10, b: 20, c: 30}
//for in の場合
for(let v in tmp) console.log(v);
出力結果は
a b c
になります。
イテレータは、for in を拡張したものになります。
反復制御の際には、ある値のコレクションを対象とし、nextメソッドを使い、要素を巡回してアクセスします。
簡単な例は次のようになります。
//イテレータ
function test(strparam) {
let V = strparam;
return {
next: function() {
return V++;
}
};
}
let testval = test(100);
console.log(testval.next());
console.log(testval.next());
console.log(testval.next());
出力結果は
100 101 102
となります。
その他の反復制御については、別途掘り下げて投稿します。