js產生不同的隨機數


前言:前幾天寫到一個程序,用到要使用不同隨機數的方法,結果愣是整了半天沒整出來,說來也是慚愧啊(虧我還是軟件工程的學生,其實這個問題以前遇到過,只是我逃避了,哎,自己刨的坑終究會把自己陷進去,╮(╯▽╰)╭)好了,廢話不多說“上菜”了

 1 (function () {
 2 
 3     var N = 20;
 4     var arr = [];
 5     var ranArr = [];
 6     for (var i = 0; i < N; i++) {
 7         arr[i] = i;
 8     }
 9     console.log(arr);
10     do {
11         var index = Math.floor(Math.random() * arr.length);
12         var flag = true;
13         ranArr.push(arr[index]);
14         arr.splice(index, 1);
15         if (arr.length == 0) {
16             flag = false;
17         }
18     } while (flag);
19 
20     console.log(ranArr);
21 })();

解釋下代碼:代碼的主要思路是,先生成個0到N的數組,根據此數組的長度產生隨機數的最大值index,循環以下動作,設置標志位flag,用於判斷arr數組的長度,每次循環把原數組index位置的數據加入到ranArr數組中去,arr數組切除這個數,直到arr數組長度為0.


免責聲明!

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



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