首页 > web前端 > js教程 > 如何生成 JavaScript 数组中所有可能的值组合?

如何生成 JavaScript 数组中所有可能的值组合?

Patricia Arquette
发布: 2024-11-03 17:34:30
原创
326 人浏览过

How to Generate All Possible Combinations of Values in JavaScript Arrays?

查找 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板