Generating permutations is pretty common problem in many algorithmic problems.
I have already implemented this problem, so you can find it in my github in algorithms repo.
Here you have function that is generating permutations from Set of specified size.
https://github.com/gkucmierz/algorithms/blob/master/js/generate_permutations.js
So if you pass 3
to it you will get this 2d array:
console.log(genPermutations(3)); [ [ 0, 1, 2 ], [ 0, 2, 1 ], [ 1, 0, 2 ], [ 1, 2, 0 ], [ 2, 0, 1 ], [ 2, 1, 0 ] ]
Subarrays are indexed from 0
to 2
, so you can very easily adapt it to your code using these indexes.
const map = ['a', 'b', 'c']; console.log( genPermutations(3) .map(permutation => { return permutation.map(idx => map[idx]).join('') }) ); [ 'abc', 'acb', 'bac', 'bca', 'cab', 'cba' ]
Top comments (0)