class Interator {
constructor(assemble){
let self = this
self.assemble = assemble
self.index = 0
}
next(){
let self = this,
assemble = self.assemble
if (self.index > assemble.length - 1) {
return {
done: true,
value: undefined
}
}
return {
done: false,
value: assemble[self.index++]
}
}
}
let itor = new Interator([10,20,30,40])
console.log(itor.next()); // { value: 10, done: false }
console.log(itor.next()); // { value: 20, done: false }
console.log(itor.next()); // { value: 30, done: false }
console.log(itor.next()); // { value: 40, done: false }
console.log(itor.next()); // { value: undefiner, done: true }