你的位置:首页 > Java教程

[Java教程]JS生成不重复随机数


说明

    我们可以用Math.random()的方法轻松的生成 一个随机的数字,但是这个数字可能是重复的。有时候,我们需要一个不重复的随机数,可以用很多的方法来实现这个要求,以下方法是效率最高的。

解释

    不重复的随机数往往是规定范围的,我们先声明一个在这个范围之内的数组,然后用sort方法对数组进行排序。而排序的方法里使用一个随机数,这个随机数使这个排序方法是不确定的。因此可以得到一个不重复的随机数组。

代码

 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>随机不重复</title> 6 <script type="text/javascript"> 7   var count = 10; 8   //原始数组 9   var original = new Array; 10   //给原始数组original赋值11   for (var i = 0; i < count; i++) {12     original[i] = i + 1;13   }14 15   var d1 = new Date().getTime();16   //排序17   original.sort(function() {18     return 0.5 - Math.random();19   });20   //输出21   for (var i = 0; i < count; i++) {22     document.write(original[i] + " , ");23   }24   var d2 = new Date().getTime();25   document.write("<br />运算耗时" + (d2 - d1));26 </script>27 </head>28 <body>29 </body>30 </html>