Learning JavaScript Data Structures and Algorithms
上QQ阅读APP看书,第一时间看更新

Using the @@iterator object

The Array class also has a property named @@iterator that was introduced in ES2015. To use this, we need to access the Symbol.iterator property of the array as follows:

let iterator = numbers[Symbol.iterator](); 
console.log(iterator.next().value); // 1 
console.log(iterator.next().value); // 2 
console.log(iterator.next().value); // 3 
console.log(iterator.next().value); // 4 
console.log(iterator.next().value); // 5 

Then, we can individually call the next method of the iterator to retrieve the next value of the array. For the numbers array, we need to call the iterator.next().value 15 times because we have 15 values in the array.

We can output all 15 values from the numbers array using the following code:

iterator = numbers[Symbol.iterator](); 
for (const n of iterator) { 
  console.log(n); 
} 

When the array is iterated and there are no more values to be iterated, the iterator.next() code will return undefined.