配列のキーと値のセットを配列にして新しいイテレーターを生成
配列のキーと値のセットを配列にして新しいイテレーターを生成するには、array.entries
メソッドを使用します。
構文
var iterator = array.entries();
戻り値
生成したイテレーターを返します。
サンプルコード
JavaScript
var foo = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
var bar = foo.entries();
console.log(bar.next().value);
Array Iteratorオブジェクト
Array IteratorオブジェクトはArrayオブジェクトとは違い、next
メソッドしか持っていません。
next
メソッドは、Array Iteratorオブジェクトから次の値をオブジェクトで取得します。
nextメソッドで返ってくるオブジェクトは、value
プロパティとdone
プロパティを持っています。
value
プロパティはキーと値のセットを配列で返します。
nextメソッドで最後の値を取得した後にさらにnextメソッドを実行した場合は、
undefined
値を返します。
JavaScript
var foo = ['a', 'b'],
bar = foo.entries();
console.log(bar.next().value); // [0, 'a']
console.log(bar.next().value); // [1, 'b']
console.log(bar.next().value); // undefined
done
プロパティは、すべての値を取得し終えたかを判定します。
取得し終えている場合はtrue、そうでない場合はfalseを返します。
JavaScript
var foo = ['a', 'b'];
var bar = foo.entries();
console.log(bar.next().done); // false
console.log(bar.next().done); // false
console.log(bar.next().done); // true