Skip to content

Instantly share code, notes, and snippets.

@averman
Created October 3, 2022 23:48
Show Gist options
  • Save averman/03133186001a52fba38b133b81a88f27 to your computer and use it in GitHub Desktop.
Save averman/03133186001a52fba38b133b81a88f27 to your computer and use it in GitHub Desktop.
function permutator(inputArr) {
var results = [];
function permute(arr, memo) {
var cur, memo = memo || [];
for (var i = 0; i < arr.length; i++) {
cur = arr.splice(i, 1);
if (arr.length === 0) {
results.push(memo.concat(cur));
}
permute(arr.slice(), memo.concat(cur));
arr.splice(i, 0, cur[0]);
}
return results;
}
return permute(inputArr);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment