Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Array permutation
/*jslint sloppy:true, white:true, vars:true, plusplus:true */
var permutation = function (collection){
var current,
subarray,
result = [],
currentArray = [],
newResultArray = [];
if (collection.length){
current = collection.shift();
result = permutation(collection);
currentArray.push(current);
result.map(function(list) {
newResultArray.push(list.slice(0));
list.push(current);
});
result.push(currentArray);
result = result.concat(newResultArray);
}
return result;
};
console.log(permutation(['a','b','c','d'])
.join('\n'));
@md2perpe

This comment has been minimized.

Copy link

@md2perpe md2perpe commented Jan 1, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment