实现js随机数不重复的有效方法

 分类:js知识时间:2017-08-28 22:19:40点击:

这是关于js随机数的第二篇文章了,在上一篇文章《js随机数Math.round()的用法详解》中,我们产生的随机数,但是发现这些随机数竟然会重复,然而实际应用中有时是需要不重复的随机数,这可咋办?那么本文给出实现js随机数不重复的有效方法。

有效方法的思路:可以利用数组的特性,先创建一个数组arr,用for循环给数组arr赋值,然后用Math.random()将数组值打散,最后用for循环依次输出数组值, 就这样可以做到js产生随机数永不重复,效率高且耗时短,具体的请看如下代码:

<script type="text/javascript">
    var count=10; //随机数的数量
    var arr=new Array; //定义一个arr数组
    //给arr数组赋值
    for (var i=0;i<count;i++){
        arr[i]=i+1;
    }
    arr.sort(function(){ return 0.5 - Math.random(); });
    for (var i=0;i<count;i++){
        //输出随机数
        document.write("第"+i+"个随机数:",arr[i]+" <hr> ");
    }
</script>

结果:

实现js随机数不重复的有效方法

点击查看演示


除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址: