返回给定数字数组的 powerset

5年以前  |  阅读数:368 次  |  编程语言:JavaScript 

返回给定数字数组的 powerset。

使用Array.reduce()Array.map()组合, 以循环访问元素并将其合并到包含所有组合的数组中。

const powerset = arr =>
arr.reduce((a, v) => a.concat(a.map(r => [v].concat(r))), [[]]);
// powerset([1,2]) -> [[], [1], [2], [2,1]]

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8