Javascript:具有n个值的n个数组的所有排列

时间:2018-11-06 20:34:21

标签: javascript arrays json loops

如果我有这样的收藏夹:

var array = {
    "fruit": ["apple","banana"],
    "amount": ["1", "2", "3"],
    "orign": ["africa", "asia", "europe"],
    ...
    "n": ["0", "...", "n"]
}

如何获取JSON格式的所有组合,如下所示:

[
 {
   "fruit": "apple",
   "amount": "1",
   "orign": "africa"
 }
 {
   "fruit": "apple",
   "amount": "1",
   "orign": "asia"
 }
 ...
]

是否可以迭代方式遍历所有元素?还是我最终会写出n个循环?

1 个答案:

答案 0 :(得分:0)

我相信您正在寻找“笛卡尔积”(假设数组是集合)。您的问题(以略有不同的方式)已在here中进行过讨论。您可以在那里看到不同的解决方案,包括递归解决方案以及许多类似的功能编程。

我希望这会有所帮助,

干杯!