【问题标题】:Generate all posible combinations with repetition of given length in JavaScript在 JavaScript 中生成具有给定长度重复的所有可能组合
【发布时间】:2012-12-27 10:42:42
【问题描述】:

我需要在 JavaScript 中生成给定长度的所有可能组合(字母可以重复)。可以使用 for word in ('a'*4..'z'*4) 用 ruby​​ 编写的东西。

【问题讨论】:

  • @Bergi 我尝试在 SO 上搜索“JavaScript 中的组合”,并尝试对他们的代码进行一些修改,但没有成功。

标签: javascript combinations combinatorics


【解决方案1】:

JavaScript 没有这样的函数式语法。使用新的列表推导,您可能会做这样的事情,但它们并没有得到广泛的支持。所以你需要在循环中手动创建字符串:

var from = 97,
    to = from + 26,
    rep = 4,
    callback = function(str) { … };
(function recurse(arr, len) {
    if (len < rep)
        for (var i=from; i<to; i++) {
            arr[len] = i;
            recurse(arr, len+1);
        }
    else
        callback( String.fromCharCode.apply(null, arr) );

})([], 0);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    相关资源
    最近更新 更多