Javascript 将for循环转换为递归函数
我有一个for循环,我想把它转换成一个递归函数 我有一个提示,应该为每个项目弹出,并在进入列表中的下一个项目之前被驳回。这种行为似乎不适用于正常的for循环。循环在提示显示之前结束,然后仅显示一个提示,即使列表中有多个项目本应显示提示 (我不完全确定它是否能与递归函数一起工作,但从我的阅读来看,它似乎很有希望。如果我在这方面错了,那么进行转换就没有意义了。) 我一直在看其他的例子,但我似乎不知道它们到底是如何工作的 这是我的原始循环:Javascript 将for循环转换为递归函数,javascript,for-loop,recursion,Javascript,For Loop,Recursion,我有一个for循环,我想把它转换成一个递归函数 我有一个提示,应该为每个项目弹出,并在进入列表中的下一个项目之前被驳回。这种行为似乎不适用于正常的for循环。循环在提示显示之前结束,然后仅显示一个提示,即使列表中有多个项目本应显示提示 (我不完全确定它是否能与递归函数一起工作,但从我的阅读来看,它似乎很有希望。如果我在这方面错了,那么进行转换就没有意义了。) 我一直在看其他的例子,但我似乎不知道它们到底是如何工作的 这是我的原始循环: for(var i = 0;i < items.get
for(var i = 0;i < items.get_count();i++) {
var item = items.getItemAtIndex(i);
//Is the item we're looking at in need of approval?
if (item.get_item("_ModerationStatus") === 2)
{
//Yes, prompt for approval. (code for prompt goes here.)
//Wait until prompt has received a response before going on next list item.
}
else
{
//No, do nothing.
}
}
for(var i=0;i
我的尝试看起来有点悲伤。我真的不确定接下来该怎么办:
function recursiveCheckRequests(i)
{
if (i < items.get_count())
{
function checkRequest(items, )
//???
}
}
recursiveCheckRequests(0);
函数递归检查请求(i)
{
如果(i
必须从函数内部调用函数
function recursiveCheckRequests(i) {
var item = items.getItemAtIndex(i);
//Is the item we're looking at in need of approval?
if (item.get_item("_ModerationStatus") === 2) {
//Yes, prompt for approval. (code for prompt goes here.)
//Wait until prompt has received a response before going on next list item.
}
if (i + 1 < items.get_count()) {
recursiveCheckRequests(i + 1);
}
}
recursiveCheckRequests(0);
函数递归检查请求(i){
var item=items.getItemAtIndex(i);
//我们正在查看的项目是否需要批准?
if(item.get_item(“_-ModerationStatus”)==2){
//是,提示批准。(此处显示提示代码。)
//在继续下一个列表项之前,请等待提示符收到响应。
}
如果(i+1
这就是我要做的
function recursiveCheckRequests(pos,arr,length)
{
if (pos === length){
return true;
}
//do something here with the array
return recursiveCheckRequests(pos+1,length)
}
recursiveCheckRequests(0,array,array.length);
这样,函数完全独立于要传递的数组,并且您可以指定要执行的迭代限制。您的
项。get\u项(“\u适度状态”)
本身可能不是整数。尝试检查==2
或==“2”
上部代码块工作正常。(当我在if
语句的处理程序中放置警报框时,框会按预期显示。)因此我认为这不是问题。递归版本似乎无法解决弹出提示行为不符合预期的问题,因此我必须找到另一种解决方案。是的,这非常有效。如果仍然有项目,它会不断调用自己,如果没有,它会退出。递归仍然有点让人困惑,但对我来说这是有道理的!