CODEPEN
Пытаюсь обернуть голову вокруг генератора, а я просто не понимаю.
У меня есть простой итераторный класс, не называемый генератором, который называется KeyGen
, который я хотел бы переписать с использованием генераторов JS :
Если это не то, что должны делать генераторы, пожалуйста, оставьте комментарий, и я закрою
class KeyGen {
constructor(numOfKeys) {
this.keys = new Array(numOfKeys).fill(0).map((i, index) => index);
this.iteratorCount = 0;
}
keyIterator() {
return {
next: () => this.keys[this.iteratorCount++]
}
}
}
const keyGen = new KeyGen(4);
console.log(keyGen.keyIterator().next());
console.log(keyGen.keyIterator().next());
console.log(keyGen.keyIterator().next());
console.log(keyGen.keyIterator().next());