# JavaScript: Combine the numbers of a given array into an array containing all combinations

## JavaScript fundamental (ES6 Syntax): Exercise-9 with Solution

Write a JavaScript program to combine the numbers of a given array into an array containing all combinations.

• Use Array.prototype.reduce() combined with Array.prototype.map() to iterate over elements and combine into an array containing all combinations.

Sample Solution:

JavaScript Code:

``````//#Source https://bit.ly/2neWfJ2
const powerset = arr => arr.reduce((a, v) => a.concat(a.map(r => [v].concat(r))), [[]]);
console.log(powerset([1, 2]));
console.log(powerset([1, 2, 3]));
console.log(powerset([1, 2, 3, 4]));
```
```

Sample Output:

```[[],[1],[2],[2,1]]
[[],[1],[2],[2,1],[3],[3,1],[3,2],[3,2,1]]
[[],[1],[2],[2,1],[3],[3,1],[3,2],[3,2,1],[4],[4,1],[4,2],[4,2,1],[4,3],[4,3,1],[4,3,2],[4,3,2,1]]
```

Pictorial Presentation:

Flowchart:

Live Demo:

See the Pen javascript-basic-exercise-1-9 by w3resource (@w3resource) on CodePen.

Improve this sample solution and post your code through Disqus

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿