会生成一个可迭代对象,就像 Python 中的那样
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
function* range(start, end, step = 1) { if (undefined === end) { [end, start] = [start, 0]; } if (start < end) { for (let i of Array(Math.ceil((end - start) / step)).keys()) { yield i * step + start; } } else { return []; } }
|
此函数在 JavaScript 中实现了 python 中的 range 函数,
想要使用 python 中的 for…in 结构可以这样做:
1 2 3
| for (let i of range(10)) { }
|
想要返回输出数组可以这样做: