javascript获取不重复的随机数的方法比较
更新时间:2008年09月08日 20:07:25 作者:
js永不重复随机数实现代码比较
不重复的随机数方案1:1531 毫秒
一般的思路是先创建一个1-3000的数组,每一次取出一个,然后让这个数组减少一个, 取一个,减少一个,这样就可以做到永不重复了。
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
不重复的随机数方案2:297毫秒
但是方案1采用了slice方法,此方法重新生成数组,会大量占用内存和cpu运算, 效率很低,所以改良一下,从原始数组取出一个数, 然后让原始数组的这个位置赋值为null 。这样下一次取数的时候判断如果为null就不取,直到不为null为止。 经过测试,可以显著提高效率。
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
不重复的随机数方案3:234毫秒
换一个思路,如果把原始数组origin打散,然后再依次打印,
这样也可以做到随机永不重复,而且效率更高,
因为方案2运行到越后面,原始数组为null的频率就越高,运算的次数就越多。
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
相关文章
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
复制内容加网址的功能,自06年脚本之家将这个功能发布并通过blueidea宣传以后,现如今很多网站都使用上了, 当初我们也由这个功能带来很多外链2014-10-10Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
上个礼拜修改测试一个后台管理项目,在测试与各个浏览器兼容性的时候,发现在chrome浏览器下showModalDialog方法显示的并不是模态对话框,就像新打开一个页面一样,父窗口仍然可以随意获取焦点,并可以打开多个窗体,而且返回值returnValue也无法返回,一直是undefined2016-10-10
最新评论