Create permutations for an array using javascript
Permutations for an array//create permutations for elements of an array const permutations = (arr) => { if( arr.length === 0 ) return [[]]; let firstElement = arr.slice(0,1); let restElements = arr.slice(1); let restPerms = permutations(restElements); let allPermutations = []; restPerms.forEach( perm => { for( let i = 0; i <= perm.length; i++ ) { let withFirstPerms = [...perm.slice(0,i), firstElement, ...perm.slice(i)]; allPermutations.push(withFirstPerms); } }); return allPermutations.map(element => [].concat(...element)); }; console.log(permutations(['a','b','c'])); console.log(permutations(['a','b']));