查找 JavaScript 数组值的组合
JavaScript 中经常遇到的挑战是在多个不同长度的数组中查找所有可能的值组合。这与排列不同,排列中元素的顺序很重要。
为了解决这个问题,我们采用递归方法:
<code class="javascript">function allPossibleCases(arr) { if (arr.length === 1) { return arr[0]; } else { var result = []; var allCasesOfRest = allPossibleCases(arr.slice(1)); // recur with the rest of array for (var c in allCasesOfRest) { for (var i = 0; i < arr[0].length; i++) { result.push(arr[0][i] + allCasesOfRest[c]); } } return result; } }</code>
考虑一个包含三个数组的示例:
<code class="javascript">var allArrays = [['a', 'b'], ['c'], ['d', 'e', 'f']];</code>
调用 allPossibleCases(allArrays) 将输出:
["acd", "bcd", "azd", "bzd", "ace", "bce", "aze", "bze", "acf", "bcf", "azf", "bzf"]
此方法有效地组合输入数组中的所有元素以生成所有可能的组合,满足原始查询中提出的要求。
以上是如何生成 JavaScript 数组中所有可能的值组合?的详细内容。更多信息请关注PHP中文网其他相关文章!