# Power Set

![](https://3743232000-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHW2IQuh2PFpWJDvBz2FF%2Fuploads%2Fgit-blob-3afc96a11579cc4acebceb09d7799b3b7799ab17%2FScreenshot%202023-01-24%20at%2023.18.35.png?alt=media)

* n x 2^n, n x 2^n

```jsx
function powerset(arr) {
  let answer = [[]];
  
  for (const n of arr) {
    const temp = [];
    for (const el of answer) {
      const next = [...el, n];
      temp.push(next);
    }
    answer.push(...temp);
  }
  
  return answer;
}

// Do not edit the line below.
exports.powerset = powerset;
```

* simpler

```jsx
function powerset(arr) {
  let answer = [[]];
  
  for (const n of arr) {
	const answerLenBeforeThisIter = answer.length;
    for (let i = 0; i < answerLenBeforeThisIter; i++) {
      answer.push(answer[i].concat(n));
    }
  }
  
  return answer;
}

// Do not edit the line below.
exports.powerset = powerset;
```
