递归生成器Javascript
for循环没有返回递增计数变量 它的作用就像没有调用range函数一样,但它是递归生成器Javascript,javascript,recursion,generator,Javascript,Recursion,Generator,for循环没有返回递增计数变量 它的作用就像没有调用range函数一样,但它是 function* range (limit, count = 0) { if (count >= limit) return yield count range(limit, count + 1) } for (let i of range(16)) { console.log(i) } 您需要yield*generator函数的范围 尝试一下: function* range (
function* range (limit, count = 0) {
if (count >= limit) return
yield count
range(limit, count + 1)
}
for (let i of range(16)) {
console.log(i)
}
您需要
yield*
generator函数的范围
尝试一下:
function* range (limit, count = 0) {
if (count >= limit) return
yield count
yield * range(limit, count + 1)
}
for (let i of range(16)) {
console.log(i)
}
因为它是递归的,所以您基本上需要将结果返回给父级。这是否回答了您的问题?