xxxxxxxxxx
const shuffleArray = (arr) =>
[Array(arr.length)]
.map((_, i) => Math.floor(Math.random() * (i + 1)))
.reduce(
(shuffled, r, i) =>
shuffled.map((num, j) =>
j === i ? shuffled[r] : j === r ? shuffled[i] : num
),
arr
);
// [ 2, 4, 1, 3, 5 ] (varies)
console.log(shuffleArray([1, 2, 3, 4, 5]));
xxxxxxxxxx
function randomArrayShuffle(array) {
var currentIndex = array.length, temporaryValue, randomIndex;
while (0 !== currentIndex) {
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
var alphabet=["a","b","c","d","e"];
randomArrayShuffle(alphabet);
//alphabet is now shuffled randomly = ["d", "c", "b", "e", "a"]
xxxxxxxxxx
const array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const shuffledArray = array.sort((a, b) => 0.5 - Math.random());
xxxxxxxxxx
let list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
list = list.sort(() => Math.random() - 0.5)
xxxxxxxxxx
function shuffle(array) {
let currentIndex = array.length, randomIndex;
// While there remain elements to shuffle...
while (currentIndex != 0) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex--;
// And swap it with the current element.
[array[currentIndex], array[randomIndex]] = [
array[randomIndex], array[currentIndex]];
}
return array;
}
// Used like so
var arr = [2, 11, 37, 42];
shuffle(arr);
console.log(arr);
xxxxxxxxxx
function shuffle(array){
var currentIndex = array.length;
var randomIndex, temp;
// While there remain elements to shuffle.
while(currentIndex > 0){
// Pick a random element remaining.
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex--;
// And swap it with the current element.
var temp = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temp;
}
}
// Used like so
var arr = [2, 11, 37, 42];
shuffle(arr);
console.log(arr);
xxxxxxxxxx
function shuffleArray(array) {
return array.sort( ()=>Math.random()-0.5 );
}
xxxxxxxxxx
let array = [1, 2, 3, 4, 5];
for(let i = array.length - 1; i >= 1; i--) {
let j = Math.floor(Math.random() * (i + 1)); // 0 <= j <= i
let temp = array[j];
array[j] = array[i];
array[i] = temp;
}
console.log(array);