我想创建一个简单的嵌套for循环系统,其中有一个外部循环,然后是一个非特定数量的非常相似的for循环彼此嵌套
这样的事情
for (var outerindex = 0; outerindex < x; outerindex++ // Outer loop
{ for (var innerindex1 = 0; innerindex1 < x; innerindex1++) //first innerLoop
{
sameFunction(); //
for (var innerindex2 = 0; innerindex2 < x; innerindex2++) //second innerloop
{
sameFunction();
for (var innerindex...
{
.....
}
}
}
}
所以我想做的是用变量改变内环的数量。我想我必须使用某种功能,但要知道从哪里开始。
答案 0 :(得分:0)
您可以通过递归来实现这一目标。
只需调用一个带有for循环深度的函数,启动一个循环并用深度调用该函数 - 。
function recurse(depth){
if(depth <= 0) //Terminal statement to end the recursion
return;
for(var innerindex = 0; innerindex < depth; innerindex++){
someFunction(depth,innerindex);
recurse(depth -1);
}
}
function someFunction(depth, innerindex){
console.log('someFunction(depth: '+depth+', innerindex:'+innerindex+');');
}
recurse(3);
&#13;
但是对于深度(例如&gt; 100)depth
,它会吃掉所有堆栈并需要大量内存。
答案 1 :(得分:0)
使用递归:
{{1}}