递归连接数组JavaScript中的字符串 [英] Recursively Concatenate Strings in Array JavaScript

查看:93
本文介绍了递归连接数组JavaScript中的字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Javascript中有一个String类型的数组. 例如:["ab","cd","ef","gh"] 此数组不是固定的&按字母顺序排列.

I have an array of type String in Javascript. Eg: ["ab", "cd", "ef", "gh"] This array is not fixed & is alphabetically ordered.

我想要这样的输出:

ab
abcd
abef
abgh
abcdef
abcdgh
abefgh
abcdefgh

cd
cdef
cdgh
cdefgh

ef
efgh

推荐答案

使用它来创建电源设置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中的字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆