创建一个生成器,可以在指定的范围内生成固定间隔的数字。
- 使用一个
while
来遍历从start
到end
中的所有数, 用yield
来返回中间的每一个数,并依次增加step
。 - 如果第三个参数(步长)忽略,
step
,则使用默认值1
。
代码实现
const rangeGenerator = function* (start, end, step = 1) {
let i = start;
while (i < end) {
yield i;
i += step;
}
};
for (let i of rangeGenerator(6, 10)) console.log(i);
// 将打印 6, 7, 8, 9