我有以下对象
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/