Write a recursive function for generating all permutations of an input string. Return them as a set.

by mschock

JavaScript

var input = 'cat';

function getPerms(input) {
	if (input.length < 2) {
    	return [input];
    }
	var permutations = [];
	for (var i = 0; i < input.length; i++) {
    	var char = input[i],
        	innerPerms = getPerms(input.replace(char, ''))
        
        for (var j = 0; j < innerPerms.length; j++) {
        	permutations.push(char + innerPerms[j]);
        }
    }
    return permutations;
}

console.log(getPerms(input))