chai-latte
Version:
Build expressive & readable fluent interface libraries.
18 lines (16 loc) • 393 B
text/typescript
export const getPermutations= <T>(inputArr: T[]): T[][] => {
let result = [];
const permute = (arr, m = []) => {
if (arr.length === 0) {
result.push(m)
} else {
for (let i = 0; i < arr.length; i++) {
let curr = arr.slice();
let next = curr.splice(i, 1);
permute(curr.slice(), m.concat(next))
}
}
}
permute(inputArr)
return result;
}