javascript獲取不重復的隨機數(shù)的方法比較
更新時間:2008年09月08日 20:07:25 作者:
js永不重復隨機數(shù)實現(xiàn)代碼比較
不重復的隨機數(shù)方案1:1531 毫秒
一般的思路是先創(chuàng)建一個1-3000的數(shù)組,每一次取出一個,然后讓這個數(shù)組減少一個, 取一個,減少一個,這樣就可以做到永不重復了。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
不重復的隨機數(shù)方案2:297毫秒
但是方案1采用了slice方法,此方法重新生成數(shù)組,會大量占用內(nèi)存和cpu運算, 效率很低,所以改良一下,從原始數(shù)組取出一個數(shù), 然后讓原始數(shù)組的這個位置賦值為null 。這樣下一次取數(shù)的時候判斷如果為null就不取,直到不為null為止。 經(jīng)過測試,可以顯著提高效率。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
不重復的隨機數(shù)方案3:234毫秒
換一個思路,如果把原始數(shù)組origin打散,然后再依次打印,
這樣也可以做到隨機永不重復,而且效率更高,
因為方案2運行到越后面,原始數(shù)組為null的頻率就越高,運算的次數(shù)就越多。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
您可能感興趣的文章:
- 使用js Math.random()函數(shù)生成n到m間的隨機數(shù)字
- Javascript 生成指定范圍數(shù)值隨機數(shù)
- JS生成某個范圍的隨機數(shù)【四種情況詳解】
- js生成隨機數(shù)之random函數(shù)隨機示例
- JavaScript 產(chǎn)生不重復的隨機數(shù)三種實現(xiàn)思路
- js獲取數(shù)組任意個不重復的隨機數(shù)組元素
- js實現(xiàn)簡單排列組合的方法
- JS實現(xiàn)的全排列組合算法示例
- JS實現(xiàn)的排列組合算法示例
- JS實現(xiàn)二維數(shù)組元素的排列組合運算簡單示例
- JavaScript隨機數(shù)的組合問題案例分析
相關文章
JavaScript校驗Number(4,1)格式的數(shù)字實例代碼
這篇文章主要介紹了JavaScript校驗Number(4,1)格式的數(shù)字實例代碼,本文實現(xiàn)思路明確代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03javascript下string.format函數(shù)補充
在上一篇中,自謙懶人的咚鏘留言指出樓豬改寫的format函數(shù)在參數(shù)輸入11個后不起作用了2010-08-08