Skip to content

Instantly share code, notes, and snippets.

@jucemar-dimon
Created November 16, 2020 15:15
Show Gist options
  • Save jucemar-dimon/04a2349b67befa194416936201877239 to your computer and use it in GitHub Desktop.
Save jucemar-dimon/04a2349b67befa194416936201877239 to your computer and use it in GitHub Desktop.
An algorithm for generating a random permutation of a finite sequence.
/*
* https://bost.ocks.org/mike/shuffle
*/
function shuffle(array) {
var m = array.length, t, i;
// While there remain elements to shuffle…
while (m) {
// Pick a remaining element…
i = Math.floor(Math.random() * m--);
// And swap it with the current element.
t = array[m];
array[m] = array[i];
array[i] = t;
}
return array;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment