2014-03-29 39 views
0

此代码可以生成像这样的字符串'x,x,x' 我想使它成为递归形式或更改此代码以使x的数量依赖于变量Y我选择了它! 例如:我把Y = 4脚本生成像字符串这个 'X,X,X,X'如何将此代码更改为递归形式

代码

 var T = new Array ('a','b','c'); 
     var n = 0 , c = 1 ; 
     for (var i = 0 ; i <= 2 ; i++){ 
      var j = 0 ; 
      while (j <= n){ 
       for (;j <= 2 ; j++){ 
        var k = 0 ; 
        while (k <= j){ 
         for (;k <= 2 ; k++){ 
          document.write(c + ' - ' + T[i]+' , '+ T[j] +' , '+ T[k] +' <br /> '); 
          c++; 
         } 
        } 
       } 
      } 

     } 

此代码的结果是: http://i.stack.imgur.com/2c2ts.png

所以我试图做一个脚本,可以安排更换阿尔法!

回答

3

Demo

function list(target, letters, lvls) { 
    var index = 0; 
    (function iter(s, lvl) { 
     if(lvl++ == lvls) 
      return target.appendChild(document.createTextNode(
       ++index + ' - ' + s + '\n' 
      )); 
     for(var i=0; i<letters.length; ++i) 
      iter(s + letters[i], lvl); 
    })('', 0); 
} 
list(document.getElementById('output'), 'abc', 3); 
+0

感谢您的^^ – HCJPS