今天我在思考如何用TypeScript提供最快的循环数组方法,例如:
['one', 'two', 'three']
在three
之后的下一个值应该是one
,我认为这是生成器函数的一个好候选。然而,它似乎对我不起作用。以下代码有什么问题?
function* stepGen(){
const steps = ['one', 'two', 'three'];
let index = 0;
if(index < steps.length - 1){
index++;
} else {
index = 0;
}
yield steps[index];
}
let gen = stepGen();
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value); // should be 'three'
console.log(gen.next().value); // should be 'one'
console.log(gen.next().value);