巧用对象,生成不重复随机数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30811721/article/details/53069526

有的时候我们需要一组不重复的随机数,我们可以用下面的方式来实现。
下面的场景是随机打乱一个数组。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>排名</title>
</head>
<body>

</body>
<script type="text/javascript">
    //待排名数组
    var myname = ['张三','李四',"王五","赵六"];
    var names = [];
    function getNameArray(){
        var arr = getRandom(myname.length);
        for(var i = 0; i < arr.length; i++){
            names.push(myname[arr[i]]);
        }
        document.write("本周排名:"+names);
    }
    function getRandom(len){
        var numberArray = [];
        var dd = {};                //判断是否生成过次随机数
        while(numberArray.length != len){
            var num = "";
            for(var j = 0; j < len; j++){
                num = Math.floor(Math.random() * len);
                if(!dd[num]){    //判断对象dd里面是否存在过改数据
                    numberArray.push(num);
                    dd[num] = 1;
                }
            }
        }
        return numberArray;
    }
    getNameArray();

    window.onbeforeunload = function() { 
        console.log(names.toString());
        localStorage.onRanking = names.tostring();
        return false // 可以阻止关闭
    }


</script>
</html>

有疑问的小伙伴可以发邮箱到:
[email protected]

最后可以关注我的个人公众号,学习更多相关知识,程序员们都在这里,你又在哪里呢?
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_30811721/article/details/53069526