Javascript 如何将此代码更改为递归形式

Javascript 如何将此代码更改为递归形式,javascript,recursion,Javascript,Recursion,这段代码可以生成一个类似“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 ; whil

这段代码可以生成一个类似“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++;
                        }
                    }
                }
            }

        }
var T=新数组('a','b','c');
var n=0,c=1;
对于(var i=0;i

功能列表(目标、字母、LVL){
var指数=0;
(功能iter(s、lvl){
if(lvl++==lvls)
返回target.appendChild(document.createTextNode(
++索引+'-'+s+'\n'
));
对于(var i=0;i

功能列表(目标、字母、LVL){
var指数=0;
(功能iter(s、lvl){
if(lvl++==lvls)
返回target.appendChild(document.createTextNode(
++索引+'-'+s+'\n'
));
对于(var i=0;i

功能列表(目标、字母、LVL){
var指数=0;
(功能iter(s、lvl){
if(lvl++==lvls)
返回target.appendChild(document.createTextNode(
++索引+'-'+s+'\n'
));
对于(var i=0;i

功能列表(目标、字母、LVL){
var指数=0;
(功能iter(s、lvl){
if(lvl++==lvls)
返回target.appendChild(document.createTextNode(
++索引+'-'+s+'\n'
));
对于(var i=0;i
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);