mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-24 21:56:48 +08:00
25 lines
552 B
JavaScript
25 lines
552 B
JavaScript
export const shuffle = (array) => {
|
|
let maxLength = array.length
|
|
let temp
|
|
let idx
|
|
|
|
// While there remain elements to shuffle...
|
|
while (maxLength) {
|
|
// Pick a remaining element...
|
|
idx = Math.floor(Math.random() * maxLength--)
|
|
|
|
// And swap it with the current element
|
|
temp = array[maxLength]
|
|
array[maxLength] = array[idx]
|
|
array[idx] = temp
|
|
}
|
|
|
|
return array
|
|
}
|
|
|
|
const array = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
|
|
console.log('array', array)
|
|
|
|
const mixedArray = shuffle(array)
|
|
console.log('mixedArray', mixedArray)
|