Permutation Generator

by rishul matta

JavaScript

const permutationGenerator = (input) => {
	const result = [];


	const recursive = (arr, memo) => {
		for (let i = 0; i < arr.length; ++i) {
			const curr = arr.splice(i, 1);
			if (arr.length === 0) {
				result.push(memo.concat(curr));
				return;
			}
			
			recursive(arr.slice(), memo.concat(curr));
			arr.splice(i, 0, curr[0]);

		}

	}
recursive(input, [])

	return result;
}
	



console.log(permutationGenerator(['c', 'a', 't']));