我有一个 Javascript 类型的 String 数组。 例如:[“ab”,“cd”,“ef”,“gh”] 该数组不是固定的,并且按字母顺序排列。
我想要这样的输出:
ab
abcd
abef
abgh
abcdef
abcdgh
abefgh
abcdefgh
cd
cdef
cdgh
cdefgh
ef
efgh
最佳答案
用它来创建 power set x
:
function power(x) {
var r = [""], // start with empty set/string
l = 1;
for (var i=0; i<x.length; l=1<<++i) // OK, l is just r[i].length, but this looks nicer :)
for (var j=0; j<l; j++) {
r.push(r[j].slice(0)); // copy
r[j] += x[i];
}
return r;
}
用法:
> power(["ab", "cd", "ef", "gh"])
["abcdefgh", "cdefgh", "abefgh", "efgh", "abcdgh", "cdgh", "abgh", "gh", "abcdef", "cdef", "abef", "ef", "abcd", "cd", "ab", ""]
关于javascript - 在数组 JavaScript 中递归连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28582295/