0

JavaScriptで、指定された長さ(文字を繰り返すことができます)の可能なすべての組み合わせを生成する必要があります。を使用してルビーで書くことができるものfor word in ('a'*4..'z'*4)

4

1 に答える 1

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);
于 2012-12-27T10:59:42.947 に答える