javascript - 查找多个数组中每个元素的所有组合

标签 javascript

我有以下对象

var mapping = {
    0: ['A','B','C'],
    1: ['D','E','F'],
    2: ['G', 'H', 'I'],
    ---
    ---

    9: ['X','Z']
}

有一个函数引用上述对象并找到所有可能的组合。例如,我们有

function combination(value){}
combination([1,0]); // DA, DB, DC, EA, EB, EC, FA, FB, FC

因此在上面的调用中,将引用 map 对象中位于“1”和“0”的键,并将返回这两个键的所有可能组合。

我认为解决这个问题的最好方法是使用递归,但我似乎无法理解这个问题

最佳答案

不仅仅是递归你可以使用多个for循环来实现这一点

for (var i = 0 ; i < mapping[index1].length ; i++)
{
    for (var j = 0 ; j < mapping[index2].length ; j++)
    {
        resultArray.push(mapping[i][j]);
    }
}

这里的resultArray是输出数组,index1、index2是传递的索引

关于javascript - 查找多个数组中每个元素的所有组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33339199/

相关文章:

javascript - HighCharts 插件 JQuery

javascript - 单击链接时如何定义路由以导航到详细信息页面

javascript - 如何提高我的 Canvas 动画速度?

Javascript函数作为变量?

javascript - 尝试在 jQuery 中找到更好的方法

javascript - 在使用触摸和鼠标的设备(例如 Surface)上收听 mousedown 和 touchstart

javascript - 开 Jest : Test case inside a function not getting values from the constructor

javascript - 通过切换 div 标签在 Google map 中添加/删除标记

javascript - 在 switch/case 中使用 return 后还需要使用 break 吗?

javascript - Uncaught ReferenceError : "method" is not defined