【发布时间】:2021-12-06 00:16:06
【问题描述】:
我正在尝试构建/查找一个函数,它将为我提供 N 个元素的所有组合。
The solution 下面给出了对(即 2 个元素)的答案。
我想对其进行参数化,以便我可以定义组合元素的数量(例如 3 个元素 => ['one', 'two', 'three'], ['one', 'two', 'four'], ... 、4 个元素等。
(如果您能告诉我我要查找的名称(笛卡尔积?),将获得互联网积分奖励!)
var array = ['one', 'two', 'three', 'four', 'five']
// get pairs
var result = array => array.flatMap((v, i) => array.slice(i+1).map( w => [v, w] ));
console.log(result(array))
// output:
// [
// ["one", "two"],
// ["one", "three"],
// ["one", "four"],
// ["one", "five"],
// ["two", "three"],
// ["two", "four"],
// ["two", "five"],
// ["three", "four"],
// ["three", "five"],
// ["four", "five"]
// ]
【问题讨论】:
-
我不开玩笑,但我发布了我认为你需要的解决方案
-
geeksforgeeks.org/…你可以看到。
标签: javascript arrays cartesian-product