Iterable

by xxjcaxx

JavaScript

let randomGenerator = {

  [Symbol.iterator]() {
    let counter = 0;
    let max = 5;
    return {
      next() {
        console.log(counter)
        if (counter < max) {
          counter++;
          return {
            value: Math.random(),
            done: false
          };
        } else {
          return {
            value: undefined,
            done: true
          };
        }
      }
    }

  }
}

console.log(randomGenerator)
for (let n of randomGenerator) {
  console.log(n)
}

for (let n of randomGenerator) {
  console.log(n)
}

console.log(...randomGenerator)