JS数组随机排数

数组随机排数

直接贴代码
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数组的文章

你可能感兴趣的:(JS)