JS数组随机排数

来源:互联网 发布:mac 能玩魔兽争霸 编辑:程序博客网 时间:2024/05/17 07:58

数组随机排数

直接贴代码
function shuffle(arr) {    let i = arr.length;        while (i) {                let j = Math.floor(Math.random() * i--);                [arr[j], arr[i]] = [arr[i], arr[j]];        }        return arr    }
代码分析:
1. 直接将数组传参,对数组进行倒循环;2. 利用 Math.floor(Math.random() * i--) 获取一个不大于数组长度的随机数 j,即随机从数组中抽取一个元素arr[j];3. 每次循环,都将数组的最后一个元素(即 arr[i]),与  随机得到的元素 arr[j]进行互换;4. 最后 返回 打乱顺序的 数组 arr.

以上,最后附上一篇详解js数组的文章