我需要在 JavaScript 中生成给定长度的所有可能组合(字母可以重复)。可以使用 ruby 编写的东西for word in ('a'*4..'z'*4)
。
问问题
560 次
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 回答