gpt4 book ai didi

javascript - 获取所有可能的元素组合

转载 作者:搜寻专家 更新时间:2023-11-01 04:53:54 25 4
gpt4 key购买 nike

如何获得数组中 2 个元素的所有可能组合?

例如:

[
1,
2,
3,
4
]

becomes

[
[1, 2],
[1, 3],
[1, 4],
[2, 1],
[2, 3],
[2, 4],
[3, 1],
[3, 2],
[3, 4],
[4, 1],
[4, 2],
[4, 3]
]

此答案使用蛮力,但是否有 Ramda 和/或柯里化(Currying)的实用方法? Derive every possible combination of elements in array

最佳答案

这是一个优雅的解决方案:

//    permutations :: Number -> [a] -> [[a]]
const permutations = R.compose(R.sequence(R.of), R.flip(R.repeat));

使用示例:

permutations(2, [1, 2, 3, 4]);
// => [[1, 1], [1, 2], ..., [4, 3], [4, 4]]

permutations(3, [1, 2, 3, 4]);
// => [[1, 1, 1], [1, 1, 2], ..., [4, 4, 3], [4, 4, 4]]

关于javascript - 获取所有可能的元素组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35687951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com