从用户输入增加嵌套量

时间:2016-10-05 08:08:36

标签: javascript

我想创建一个简单的嵌套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...
            {
                .....
            }
        }
    }
} 

所以我想做的是用变量改变内环的数量。我想我必须使用某种功能,但要知道从哪里开始。

2 个答案:

答案 0 :(得分:0)

您可以通过递归来实现这一目标。

只需调用一个带有for循环深度的函数,启动一个循环并用深度调用该函数 - 。

&#13;
&#13;
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;
&#13;
&#13;  

但是对于深度(例如&gt; 100)depth,它会吃掉所有堆栈并需要大量内存。

答案 1 :(得分:0)

使用递归:

{{1}}