查找 JavaScript 数组值的所有组合(笛卡尔积)
在 JavaScript 中从多个数组生成值的所有组合可以通过以下方式实现:笛卡尔积的概念。实现方法如下:
笛卡尔积的递归
要生成所有组合,我们可以使用迭代的递归函数每个数组并组合所有数组中的元素。
以下是查找多个数组的笛卡尔积的递归函数示例:
return arr[0];
} else {
var result = []; var allCasesOfRest = allPossibleCases(arr.slice(1)); // recur with the rest of array for (var i = 0; i < allCasesOfRest.length; i++) { for (var j = 0; j < arr[0].length; j++) { result.push(arr[0][j] + allCasesOfRest[i]); } } return result;
}
}
使用示例
假设您有三个数组:
var 第二 = ['c'],<br>var 第三 = ['d', 'e', 'f'];
使用 allPossibleCases 函数,您可以生成所有组合,如下所示:
var allArrays = [第一、第二、第三];<br>console.log(allPossibleCases(allArrays));
acd ace acf bcd bce bcf azd aze azf bzd bze bzf
注意:每个组合中元素的顺序可能会根据 allArrays 变量中数组的顺序而有所不同。
以上是如何从 JavaScript 数组生成值的所有组合(笛卡尔积)?的详细内容。更多信息请关注PHP中文网其他相关文章!