天天看點

JavaScript數組随機排序

前面已經總結了幾種常見的數組排序方法:冒泡排序,選擇排序等等。

今天總結一下随機排序,每執行一次函數,對數組進行一次随機性的排序:

JavaScript數組随機排序

代碼如下:

/**
 * 随機算法
 * @param {*} array 
 */

import {
    swap
} from "../utils/index.js"

function shuffle(array) {
    for (let index = 0; index < array.length; index++) {
        const randomIndex = Math.floor(Math.random() * (index + 1))
        swap(array, index, randomIndex)
    }

    return array;
}

console.log(shuffle([2,354,4,6.5,8]))      
function swap(arr, a,) {
    [arr[a], arr[b]] = [arr[b], arr[a]]
}      

繼續閱讀