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

新手上路,请多包涵

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

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

请各位赐教

阅读 1.5k
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);
}, []);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题