当前位置 博文首页 > peakchen90的博客:Javascript数组完全随机排列(数组乱序)

    peakchen90的博客:Javascript数组完全随机排列(数组乱序)

    作者:[db:作者] 时间:2021-08-01 11:53

    Javascript数组完全随机排列(数组乱序)

    参考链接:https://www.h5jun.com/post/array-shuffle.html

    数组乱序的错误方法及详解请浏览 参考链接 https://www.h5jun.com/post/array-shuffle.html

    以下2种方法我认为是比较实用的:

    (1)时间复杂度约为 O(n2),splice()方法会遍历一次

    function shuffle(a) {
        var b = [];
        while (a.length > 0) {
            var index = parseInt(Math.random() * (a.length - 1));
            b.push(a[index]);
            a.splice(index, 1);
        }
        return b;
    }

    (2)时间复杂度为 O(n)

    function shuffle(a) {
        var len = a.length;
        for (var i = 0; i < len - 1; i++) {
            var index = parseInt(Math.random() * (len - i));
            var temp = a[index];
            a[index] = a[len - i - 1];
            a[len - i - 1] = temp;
        }
    }
    cs
    下一篇:没有了