代码如下:
function getSubSets([head, ...rest]) {
// 如果是空数组直接返回空子集
if (!head) return [[]];
// 得到除第一个元素之外的子数组的所有子集
const restSubSets = getSubSets(rest);
// n个元素的子集就等于n-1个元素的子集合并上
// n-1个元素的每一个子集加上第一个元素形成的集合
return [
...restSubSets, // n-1个元素的子集
...restSubSets.map(set => [head, ...set]) // n-1个元素的每一个子集加上第一个元素形成的集合
];
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。