这是关于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>
结果:
点击查看演示(http://tangjiusheng.com/js/round.html)
除注明外的文章,均为来源:汤久生博客,转载请保留本文地址!
原文地址:http://tangjiusheng.com/js/129.html