Table of Contents

Javascript - Iterator

About

In Javascript, an iterator is an iterator

Interface

An object has an iterator when it has:

Example

How to create an iterator

var Fib = {
 [Symbol.iterator]() {
     var n1 = 1, n2 = 1;
     return {
         next() {
             var current = n2;
             n2 = n1;
             n1 = n1 + current;
             return { value: current, done: false };
         },
         return(v) {
             console.log('Done');
             return { value: v, done: true };
         }
     };
  }
};
for (var v of Fib) {
    console.log( v );
    if (v > 50) break;
}

How to read an iterator

Example with FormData

let formData = new FormData();
formData.append('username', 'Foo');
formData.append('age', '10');

For

The For over the object implementing an iterator

console.log("For loop");
for (let entry of formData) {
    console.log( entry );
}

While

The while iteration over the iterator

console.log("While loop");
let it = formData.entries();
let result = it.next();
while (!result.done) {
 console.log(result.value); 
 result = it.next();
}

Foreach

The foreach iteration over the iterator

console.log("For Each");
// value and key should be inverted
formData.forEach((value, key)=>{
 console.log(key+":"+value);  
})

Result

Documentation / Reference