You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

11 lines
251 B
TypeScript

export function getSubsets<T>(arr: T[]) {
const subsets = [[]] as T[][]; // start with empty set
for (const element of arr) {
const newSubsets = subsets.map((subset) => [...subset, element]);
subsets.push(...newSubsets);
}
return subsets;
}