假设我有以下数组:
const input = [“a”, “b”, “c”, “d”];
我想要创建这个输出:
[
[“a”],
[“a”, “b”],
[“a”, “c”],
[“a”, “d”],
[“a”, “b”, “c”],
[“a”, “b”, “d”],
[“a”, “c”, “d”],
[“a”, “b”, “c”, “d”],
[“b”],
[“b”, “c”],
[“b”, “d”],
[“b”, “c”, “d”],
[“c”],
[“c”, “d”],
[“d”]
]
我不关心顺序或组合的长度,只需要所有在数组中唯一组合物品的各种方式。
在JavaScript中,最好的方法是什么?我认为有一个漂亮的递归解决方案,但迭代也可以做到。
此外,这个过程的正确技术术语是什么?
[list(itertools.combinations("abcd", i)) for i in range(1, 5)]
的 JS 版本,但是要展开。应该有明显的重复问题,但是由于这些术语混淆,我总是找不到这个类别中的重复项。 - ggorlen