实现数组的随机排序

225 阅读1分钟

方法1

    let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
    function randSort(arr) {
        for (let i = 0; i < arr.length; i++) {
            // console.log(arr[i]);
            let rand = parseInt(Math.random() * arr.length)
            let temp = arr[rand]
            arr[rand] = arr[i]
            arr[i] = temp
        };
        return arr
    }
    console.log(randSort(arr)); // [2, 3, 5, 9, 4, 1, 6, 10, 8, 7]

方法2

    let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
    function randSort(arr) {
        let mixedArray = []
        while (arr.length > 0) {
            let randomIndex = parseInt(Math.random() * arr.length)
            mixedArray.push(arr[randomIndex])
            arr.splice(randomIndex, 1)
        }
        return mixedArray
    }
    console.log(randSort(arr));  // [6, 3, 5, 10, 8, 2, 1, 4, 7, 9]
    

方法3

    let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]   
    arr.sort(function () {
        return Math.random() - 0.5
    })
    console.log(arr);  // [6, 4, 8, 5, 1, 9, 2, 7, 10, 3]