.config
index.js
Config files
.replit
replit.nix
// iterable object
const fiveRandomNums = {
[Symbol.iterator]: function() {
let count = 0;
const iterator = {
next: function() {
count += 1;
return {
done: count > 5,
value: Math.floor(Math.random() * 5)
}
}
}
return iterator;
}
};
console.log('iterator invoked manually:');
//assign iterator reference to its own variable
const iterator = fiveRandomNums[Symbol.iterator]();
// invoke next method imperatively (manually)
console.log(iterator.next());
console.log(iterator.next());
console.log(iterator.next());
console.log(iterator.next());
console.log(iterator.next());
console.log(iterator.next());
console.log('\niterator invoked through for/of loop:');
// invoke next method declaratively (programatically)
for (let eachNum of fiveRandomNums) {
console.log(eachNum);
}
console.log('\niterator invoked through spread operator:');
// use with spread operator
console.log([...fiveRandomNums]);