用户:
七式草莓查看:19 回复:12 评论:19 创建时间:2023-05-01T09:39:14
无奖竞猜:js中能不能用“for(i in range(0, 5, 2))”
注意:你可以任意定义变量、常亮、函数、类
广告:我们的作品预告贴 https://shequ.codemao.cn/community/538259
可以的。
function range(a,b,r=1){
let res = {}
for(let i=a;i<b;i+=r){
res[i] = i
}
return res;
}
for(let i of range(0,114,2)) console.log(i)
虽然但是,这种方喵占用大量的内存,特别是b特别大的时候。
所以我更建议用for of:
function* range(a,b,r){
for(let i=a;i<b;i+=r){
yield i
}
}
for(i of range(1,514,2)) console.log(i)
值得一提的是,python也提供了类似的方法允许我们自定义一个range函数(即生成器)
def forever():
while True:
yield "forever"
for i in forever():
print(i)点赞0
评论