21 lines
301 B
JavaScript
21 lines
301 B
JavaScript
function *range(max, step) {
|
|
var count = 0;
|
|
step = step || 1;
|
|
|
|
for (var i = 0; i < max; i += step) {
|
|
count++;
|
|
yield i;
|
|
}
|
|
|
|
return count;
|
|
}
|
|
|
|
var gen = range(20, 3);
|
|
var values = [];
|
|
|
|
for (var value of gen) {
|
|
values.push(value);
|
|
}
|
|
|
|
assert.deepEqual(values, [0, 3, 6, 9, 12, 15, 18]);
|