javascript - 在数组 JavaScript 中递归连接字符串

标签 javascript jquery

我有一个 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/

相关文章:

javascript - 只有在多个 AJAX 请求完成后才触发一个函数

jQuery tablesorter 在我动态加载的表上不起作用?

JavaScript:检测 Canvas 中的形状

javascript - require() 是如何工作的?

javascript - Angularjs - 带有 ng-bind-html-unsafe 的内联指令

jquery - 可以将其减少到更少的代码吗?

jquery - Flexslider和scrollspy互相冲突

jquery - 单击不播放html5音频

javascript - angular js,广播一个事件并等待它完成

javascript - Firebase .limit() 函数