JS每隔1秒输出一组新的随机数

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>JS生成随机数</title>
    <style type="text/css">
        h1 { text-align: center; }
        section{ margin: auto; width: 600px; padding: 50px;}
        h2 {  font-size: 36px; display: flex; }
        p {  text-align: center;  }
    </style>
</head>


<body>
    <h1>JS生成随机数</h1>
    <hr />
   <section>
    <h2><b>0-9不去重</b><p id="conA"></p></h2>
    <h2><b>0-9已去重</b><p id="conB"></p></h2>
    <h2><b>0-9去重去逗号</b><p id="conC"></p></h2>
   </section>
    
</body>

<script type="text/javascript">


    setTimeout(function () { window.location.reload(); }, 1000);//每隔1秒刷新1次页面

    //Math.round() 把一个数字舍入为最接近的整数。
    //math.random()取得某个范围内的随机数
    var Arr = [] || new Array();

    var mupiao;
    Arr[0] = Math.round((Math.random()) * 9); //输出的值的范围值 

    for (var i = 1; i < 10; i++)  //输出的个数(这里是10个数)
    {
        mupiao = Math.round((Math.random()) * 9);
        for (var a = 0; a < Arr.length; a++) {
            while (Arr[a] == mupiao) {
                mupiao = Math.round((Math.random()) * 9);
            }
        }
        Arr[a] = mupiao;
    }

    //用js对象的特性,如何去重复:
    //第一步:把数组转成一个js对象。
    //第二步:把数组中的值,变成js对象中的 key。
    //第三步:把这个对象 再还原成数组。


    //该方法把 组数 转为 对象
    var toObject = function (arr) {
        var obj = {} //创建一个私有(在函数中)的对象

        for (var i = 0; i < arr.length; i++) {
            obj[arr[i]] = true; //这样就把数组转为对象了(就是把循环出来的数组 放到 对象中)
        }
        return obj;
    }

    //该方法把 对象 转为 数组
    var keys = function (obj) {
        var arr = []; //创建一个私有(在函数中)的数组
        for (var i in obj) {
            if (obj.hasOwnProperty(i)) //判断这个属性是否属于obj的,注hasOwnProperty是js对象中的方法
            {
                arr.push(i);//把循环出来的对象追加到数组中
            }
        }
        return arr;
    }

    //合并方法,去除数组中的重复项
    var uniq = function (arrs) {
        return keys(toObject(arrs));//把数arrs放到toObject方法中,然后在把toObject方法入到keys方法中并返回,就OK了。
    }


    document.getElementById('conA').innerHTML = Arr;//这是原来的随机数组

    document.getElementById('conB').innerHTML = uniq(Arr); //这是去重复后的随机数组

    document.getElementById('conC').innerHTML = uniq(Arr).join(''); //这是去重复去逗号后的随机数组

</script>

</html>

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值