永发信息网

如何避免在javascript中的Math.random()产生的数不重复

答案:1  悬赏:40  手机版
解决时间 2021-03-23 05:40
  • 提问者网友:谁的错
  • 2021-03-22 07:43
我看到您在百度知道里提问了这个问题,我想知道您最后是怎么解决的,可以教给我吗?
var num = 1;
var num2 = 34;
var num3 = num2-num;
suoyou[i].innerHTML = parseInt(Math.random()*num3+num,10)
最佳答案
  • 五星知识达人网友:英雄的欲望
  • 2019-04-11 09:32
<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>RunJS 演示代码</title>
    <style>
        div {
    width: 30px;
    border: 1px solid #fd3;
    float: left;
}
    </style>
    <script>
        onload = function() {
            var min = 1;
            var max = 34;
            var body = document.body;
            // 白盒测试
            for (var i = 0; i < max - 1; i++) {
                var div = document.createElement("div");
                body.appendChild(div);
            }
            // 挑战极限
            var suoyou = document.getElementsByTagName("div");
            var map = {};
            for (var i = 0; i < suoyou.length; i++) {
                // 1~33
                var rand = Math.floor(Math.random() * (max - min)) + min;
                if (!map[rand]) {
                    suoyou[i].innerHTML = rand;
                    map[rand] = 1;
                } else {
                    i--;
                }
            }
        }
    </script>
</head>

<body></body>

</html>
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯