如何在Javascript中制作角色组合?

时间:2017-11-28 18:09:11

标签: javascript

我有3个字母A,B和C,我想组合一个字符串,这3个字符,但长度为4个。

结果将是这样的: AAAA AAAB AABC

由于AAAABBBBCCCC是模式的示例,我需要知道这些组合形式中有多少模式。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

使用此功能解决我的问题

function Combinations(input, length, curstr) {
   if(curstr.length == length) return [ curstr ];
   var ret = [];
   for(var i = 0; i < input.length; i++) {
       ret.push.apply(ret, Combinations(input, length, curstr + input[i]));
   }
   return ret;
}

   var input = [ 'a', 'b', 'c' ];
   console.log(Combinations(input, 4, ''));

和输出将是这样的

(81) ["aaaa", "aaab", "aaac", "aaba", "aabb", "aabc", "aaca", "aacb", "aacc", "abaa", "abab", "abac", "abba", "abbb", "abbc", "abca", "abcb", "abcc", "acaa", "acab", "acac", "acba", "acbb", "acbc", "acca", "accb", "accc", "baaa", "baab", "baac", "baba", "babb", "babc", "baca", "bacb", "bacc", "bbaa", "bbab", "bbac", "bbba", "bbbb", "bbbc", "bbca", "bbcb", "bbcc", "bcaa", "bcab", "bcac", "bcba", "bcbb", "bcbc", "bcca", "bccb", "bccc", "caaa", "caab", "caac", "caba", "cabb", "cabc", "caca", "cacb", "cacc", "cbaa", "cbab", "cbac", "cbba", "cbbb", "cbbc", "cbca", "cbcb", "cbcc", "ccaa", "ccab", "ccac", "ccba", "ccbb", "ccbc", "ccca", "cccb", "cccc"]

答案 1 :(得分:0)

试试这个:

s[:s.index("D133330593")+len("D133330593")] + "123456" + s[s.index("D133330593")+len("D133330593")+6:]