Generates all possible subsets of a given array.
Implements the mathematical concept of power set, generating 2^n subsets from an array of n elements. Uses depth-first search (DFS) algorithm to calculate all possible combinations of including or excluding each element.
const numbers = [1, 2, 3]; const allSubsets = ArrayUtil.subsets(numbers); console.log(allSubsets); // [ // [], // empty set // [3], // {3} // [2], // {2} // [2, 3], // {2, 3} // [1], // {1} // [1, 3], // {1, 3} // [1, 2], // {1, 2} // [1, 2, 3] // {1, 2, 3} // ] const colors = ['red', 'blue']; const colorSubsets = ArrayUtil.subsets(colors); console.log(colorSubsets); // [ // [], // ['blue'], // ['red'], // ['red', 'blue'] // ] // Warning: Result size grows exponentially with array size // Example: 10 elements → 1,024 subsets, 20 elements → 1,048,576 subsets Copy
const numbers = [1, 2, 3]; const allSubsets = ArrayUtil.subsets(numbers); console.log(allSubsets); // [ // [], // empty set // [3], // {3} // [2], // {2} // [2, 3], // {2, 3} // [1], // {1} // [1, 3], // {1, 3} // [1, 2], // {1, 2} // [1, 2, 3] // {1, 2, 3} // ] const colors = ['red', 'blue']; const colorSubsets = ArrayUtil.subsets(colors); console.log(colorSubsets); // [ // [], // ['blue'], // ['red'], // ['red', 'blue'] // ] // Warning: Result size grows exponentially with array size // Example: 10 elements → 1,024 subsets, 20 elements → 1,048,576 subsets
The type of elements in the array
The array to generate subsets from
An array containing all possible subsets
Generates all possible subsets of a given array.
Implements the mathematical concept of power set, generating 2^n subsets from an array of n elements. Uses depth-first search (DFS) algorithm to calculate all possible combinations of including or excluding each element.
Example