subsets - nodef/extra-set GitHub Wiki

List all possible subsets.

Similar: subset, subsets, isSubset.

function subsets(x, n)
// x: a set
// n: number of values [-1 ⇒ any]
const set = require('extra-set');

var x = new Set([1, 2]);
[...set.subsets(x)];
// → [ Set(0) {}, Set(1) { 1 }, Set(1) { 2 }, Set(2) { 1, 2 } ]

var x = new Set([1, 2, 3]);
[...set.subsets(x)];
// → [
// →   Set(0) {},
// →   Set(1) { 1 },
// →   Set(1) { 2 },
// →   Set(2) { 1, 2 },
// →   Set(1) { 3 },
// →   Set(2) { 1, 3 },
// →   Set(2) { 2, 3 },
// →   Set(3) { 1, 2, 3 }
// → ]

References