const getAllSubsets =
theArray => theArray.reduce(
(subsets, value) => subsets.concat(
subsets.map(set => [value,…set])
),
[[]]
);
console.log(getAllSubsets([1,2,3]));
本文介绍了一种使用JavaScript实现的高效算法,该算法能够生成给定数组的所有可能子集。通过reduce方法遍历数组元素,并利用递归思想将当前值与已有的子集组合,最终得到所有可能的子集。
const getAllSubsets =
theArray => theArray.reduce(
(subsets, value) => subsets.concat(
subsets.map(set => [value,…set])
),
[[]]
);
console.log(getAllSubsets([1,2,3]));
541
471
440

被折叠的 条评论
为什么被折叠?