javascript - 从javascript中的字符串中获取2的组合

标签 javascript combinations

我需要从 javascript 中的字符串中获取 2 的组合

var string = 'abcdefghijklmnopqrstuvwxyz';

预期输出

aa
ab
ac
...

我发现了这个,但我无法弄清楚如何仅过滤 2 长度的组合,并避免其他“额外”计算:

var string = 'abcdefghijklmnopqrstuvwxyz';

var tree = function(leafs){
    var branches = [];      
    if(leafs.length == 1) return leafs;       
    for(var k in leafs){
        var leaf = leafs[k];
        tree(leafs.join('').replace(leaf,'').split('')).concat("").map(function(subtree){
            branches.push([leaf].concat(subtree));
        });
    }
    return branches;
};
console.log(tree(string.split('')).map(function(str){return str.join('')}))

最佳答案

试试这个:

var string = 'abcdefghijklmnopqrstuvwxyz'
var combinations = []

for (var i = 0; i < string.length; i++) {
    for (var j = i; j < string.length; j++) {
        combinations.push(string[i] + string[j])
    }
}

这将产生aa, ab... bb, bc... zz。如果你想要aa, ab... ba, bb... zz,只需将第二个for循环更改为for (var j = 0...

关于javascript - 从javascript中的字符串中获取2的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39285237/

相关文章:

javascript - MVC4中是否可以通过选择单选按钮的文本来淡入淡出?

javascript - iPhone safari Web 应用程序 float div

java - 如何在至少删除某个字母的情况下获得字符串的所有可能性

algorithm - 按字典顺序生成 k 组合

python - 将嵌套列表组合成子列表的唯一组合

javascript - 循环遍历 Google map 的 JSON 数据

javascript - 用 Angular 6 中的接口(interface)信息填充字符串数组

javascript - $ (".floater").floatingFixed 不是函数

r - 如何在 R 中获得组合向量?

r - 合并具有所有组合的两个数据框