打乱数组排序的算法shuffle

来源:互联网 发布:java发送微信消息接口 编辑:程序博客网 时间:2024/05/19 01:07

打乱数组排序的算法。

export function shuffle(arr) {    let _arr = arr.slice()    for (let i = 0; i < _arr.length; i++) {        let j = getRandomInt(0, i)        let t = _arr[i]        _arr[i] = _arr[j]        _arr[j] = t    }    return _arr}function getRandomInt(min, max) {    return Math.floor(Math.random() * (max - min + 1) + min)}

下面为一个测试的结果。


算法部分的主要思路就是,随机产生一个小于等于当前索引的数字j,然后将 j 和 i 所在的值互换一下。这样就打乱了原来的数组。

原创粉丝点击