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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM