Skip to content

Instantly share code, notes, and snippets.

@jrc03c
Last active February 9, 2017 15:50
Show Gist options
  • Save jrc03c/ad3dd9c72a2e9dd8fd515c4ed9ef3ffa to your computer and use it in GitHub Desktop.
Save jrc03c/ad3dd9c72a2e9dd8fd515c4ed9ef3ffa to your computer and use it in GitHub Desktop.
A JS function to enumerate all arrangements of some letters
function arrangements(letters){
if (letters.length == 1){
return [letters];
}
else if (letters.length == 2){
return [letters[0] + letters[1], letters[1] + letters[0]];
}
else {
var out = [];
for (var i=0; i<letters.length; i++){
var letter = letters[i];
arrangements(letters.slice(0, i) + letters.slice(i+1, letters.length)).forEach(function(arr){
out.push(letter + arr);
});
}
return out;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment