一个数组中多个数,怎么样两一组合?

新手上路,请多包涵

如一个数组[1,2,3]

怎么样生成[
[[1,2],[3]], //一个数组中两个值,一个中只有一个值
[[1,3],[2]],
[[2,3],[1]],
]
而且不重复,即[[2,1],[3]] 其实 就是 [[1,2],[3]]

请各位赐教

阅读 1.6k
2 个回答
const result = array.reduce((acc, cur, i) => {
    const rest = array.slice(i + 1);
    const pairs = rest.map((el) => [[cur, el], array.filter((e) => ![cur, el].includes(e))]);
    return acc.concat(pairs);
}, []);
推荐问题