1/**
2 * Shuffles array in place.
3 * @param {Array} a items An array containing the items.
4 */
5function shuffle(a) {
6 var j, x, i;
7 for (i = a.length - 1; i > 0; i--) {
8 j = round(random() * (i + 1));
9 x = a[i];
10 a[i] = a[j];
11 a[j] = x;
12 }
13 return a;
14}
15
16shuffle(array);
1function randomArrayShuffle(array) {
2 var currentIndex = array.length, temporaryValue, randomIndex;
3 while (0 !== currentIndex) {
4 randomIndex = Math.floor(Math.random() * currentIndex);
5 currentIndex -= 1;
6 temporaryValue = array[currentIndex];
7 array[currentIndex] = array[randomIndex];
8 array[randomIndex] = temporaryValue;
9 }
10 return array;
11}
12var alphabet=["a","b","c","d","e"];
13randomArrayShuffle(alphabet);
14//alphabet is now shuffled randomly = ["d", "c", "b", "e", "a"]
15
16
17
1function shuffleArray(array) {
2 for (let i = array.length - 1; i > 0; i--) {
3 const j = Math.floor(Math.random() * (i + 1));
4 [array[i], array[j]] = [array[j], array[i]];
5 }
6}
1function shuffle(array) {
2 let currentIndex = array.length, randomIndex;
3
4 // While there remain elements to shuffle...
5 while (currentIndex != 0) {
6
7 // Pick a remaining element...
8 randomIndex = Math.floor(Math.random() * currentIndex);
9 currentIndex--;
10
11 // And swap it with the current element.
12 [array[currentIndex], array[randomIndex]] = [
13 array[randomIndex], array[currentIndex]];
14 }
15
16 return array;
17}
18
19// Used like so
20var arr = [2, 11, 37, 42];
21shuffle(arr);
22console.log(arr);