Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何生成具有特定长度限制的所有可能组合中的字母?_Javascript_Arrays - Fatal编程技术网

Javascript 如何生成具有特定长度限制的所有可能组合中的字母?

Javascript 如何生成具有特定长度限制的所有可能组合中的字母?,javascript,arrays,Javascript,Arrays,如何生成具有特定长度限制的所有可能组合中的字母?在javascript中 // return [aaaa, bbbb] function allPossibleCombinations(inputArray, outputEachStrLength) { var inputArrayLength = inputArray.length; for (i = 0; i < inputArrayLength; i++) { } } var inputArray = [a,b,c

如何生成具有特定长度限制的所有可能组合中的字母?在javascript中

// return [aaaa, bbbb]

function allPossibleCombinations(inputArray, outputEachStrLength) {
  var inputArrayLength = inputArray.length;
  for (i = 0; i < inputArrayLength; i++) {

  }
}

var inputArray = [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z];
var outputEachStrLength = 4;
allPossibleCombinations(inputArray, outputEachStrLength)
//返回[aaaa,bbbb]
函数所有可能的组合(inputArray、outputEachStrLength){
var inputArray长度=inputArray.length;
对于(i=0;i

您可以使用递归方法:

function allPossibleCombinations(input, length, curstr) {
    if(curstr.length == length) return [ curstr ];
    var ret = [];
    for(var i = 0; i < input.length; i++) {
        ret.push.apply(ret, allPossibleCombinations(input, length, curstr + input[i]));
    }
    return ret;
}

var input = [ 'a', 'b', 'c', 'd' ];
console.log(allPossibleCombinations(input, 3, ''));
函数所有可能的组合(输入、长度、游标){
if(curstr.length==length)返回[curstr];
var-ret=[];
对于(变量i=0;i
感谢您的回复,什么是
curstr
curstr
是正在生成的当前字母组合。每次调用该函数时,它都会循环输入并将每个字母附加到该函数中。如果
curstr
足够长,那么它将被返回。我明白了!!非常感谢!!我想在36个字符的输入数组中使用此函数来计算固定长度为5个字符的所有字符串,但失败的原因是:
Uncaught RangeError:超过了最大调用堆栈大小
。我想我的负担太重了D@DavidFang有没有一种快速的方法可以在单行上进行“导出”,这样我就可以轻松地复制并粘贴到excel中?