Javascript Cutom循环函数无限循环
我是JavaScript新手 我需要做一个如下的函数:Javascript Cutom循环函数无限循环,javascript,infinite-loop,higher-order-functions,Javascript,Infinite Loop,Higher Order Functions,我是JavaScript新手 我需要做一个如下的函数: loop(3, n => n > 0, n => n - 1, console.log); // → 3 // → 2 // → 1 这是我的密码: function loop(counter, condition, update, fun){ while(condition(counter)){ fun(counter); update(counter); } } wh
loop(3, n => n > 0, n => n - 1, console.log);
// → 3
// → 2
// → 1
这是我的密码:
function loop(counter, condition, update, fun){
while(condition(counter)){
fun(counter);
update(counter);
}
}
while循环无限运行,控制台上没有任何日志记录
有人能帮忙吗。提前感谢。更新方法
功能循环(计数器、检查、更新、fn){
while(支票(柜台)){
fn(柜台);
计数器=更新(计数器);
}
}
循环(3,n=>n>0,n=>n-1,console.log)代码>您需要在本地更新计数器。现在扔掉update
函数的返回值。update
函数不是“更新”任何东西。它只是返回一个新的值,但是这个值没有保存在任何地方。考虑< <代码> > < /C> > @ ErraseXbox没有什么错误,而<>代码> < /C> >,并且因为条件fn是任意的,所以我看不出使用任何其他东西的巨大理由。你会建议什么来代替而?你需要像计数器=更新(计数器)这样的东西代码>为什么?这似乎不是一个最好通过递归解决的问题。