JS数组乱序实现两种方式

/**
 * 数组无序
 * 简单算法
 * @param arr
 */
const easyMethod = function (arr) {
    return arr.slice().sort(() => {
        return Math.random() - 0.5
    })
}

/**
 * 数组无序
 * 洗牌算法
 * @param arr
 * @returns {*}
 */
const shuffle = function (arr) {
    let newArr = Array.prototype.slice.call(arr), // copy 新数组
        temp = 0
    for (let i = arr.length - 1; i > 0; i--) {
        temp = Math.floor(Math.random() * i);
        [newArr[i], newArr[temp]] = [newArr[temp], newArr[i]];
    }
    return newArr
}

let arr = [4, 5, 621, 1, 5, 34, 3, 67, 23, 32, 4234]
let newArr = shuffle(arr)
console.log(arr, newArr)


版权声明:本文为qq_37820580原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。