2014-11-17 24 views
0

当我有阵[A,B,C],我想有以下示例输出:如何轻松添加“。”在阵列中,我可以做切片吗?

abc 
a.bc 
ab.c 
a.b.c 

我试着用拆分和添加,它不给我我想要的。

var str = "vwxyzzyxwabcdefghijklmnopqrstu", 
res = str.split(""), 
clone = "vwxyzzyxwabcdefghijklmnopqrstu"; 
c = str.split(""); 
i = 0; l = str.length; 
for (i = 0; i <= l; i++) 
{ 
    var a = res.slice(i, l); 
    r = c[i] + "."; 
    console.log (r + a); 
} 

什么将是容易和快速的方式来获得结果。

+1

你想打印点插入的所有可能性为' “vwxyzzyxwabcdefghijklmnopqrstu”'安慰?他们有536870912。你确定你讨厌你的浏览器吗? – Amadan

+0

Chrome浏览器可以处理那么多的输出我猜:P – Deigo

回答

1

下面是一个如何去做的想法。不过,我不打算在你提出的字符串上做。 :P

function dotBetweenCharacters(str, callback, result) { 
 
    if (str.length <= 1) { 
 
    callback(result + str); 
 
    } else { 
 
    var base = (result || "") + str[0]; 
 
    var tail = str.substring(1); 
 
    dotBetweenCharacters(tail, callback, base); 
 
    dotBetweenCharacters(tail, callback, base + '.'); 
 
    } 
 
} 
 

 
dotBetweenCharacters("abcd", function(str) { 
 
    console.log(str); 
 
});

答:

abcd 
abc.d 
ab.cd 
ab.c.d 
a.bcd 
a.bc.d 
a.b.cd 
a.b.c.d 
+0

+1递归 – Wold

+0

谢谢,这正是我真正需要的。 – Deigo

相关问题