JavaScript数组乱序

简单方法

利用Array的sort方法的特性,以及Math.random()值的特点做简单的位置交换,来实现数组乱序。但这种方法并不能实现真正的随机乱序。

function shuffle(arr) {
    return arr?.sort(() => Math.random() - 0.5);
}

准确高效(Fisher–Yates)

function shuffle(arr) {
    let m = arr?.length;
    while (m > 1){
        let index = Math.floor(Math.random() * m--);
        [arr[m] , arr[index]] = [arr[index] , arr[m]]
    }
    return arr;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容