Javascript获取不重复的随机数值
2014-03-27 00:00
316 查看
/** * 获取不重复随机数 * @param integer start 随机数最小值 * @param integer end 随机数最大值 * @param integer size 随机数获取数量 最小为1,默认1 * @return integer|array 如 1或者[2,4,7,9] */ function randUnique(start, end, size){ // 全部随机数值 var allNums = new Array; // 判断获取随机数个数 size = size ? (size > end - start ? end - start : size) : 1; // 生成随机数值区间数组 for (var i = start, k = 0; i <= end; i++, k++) { allNums[k] = i; } // 打撒数组排序 allNums.sort(function(){ return 0.5 - Math.random(); }); // 获取数组从第一个开始到指定个数的下标区间 return allNums.slice(0, size); }
调试了好几次,综合谷歌结果,发现还是这样效率最高了,最后返回数组测试了用 slice 和 for 循环获取 randUnique(0,1000000,1000000) 百万级 测试,还是用 slice 好点儿
相关文章推荐
- Javascript获取不重复的随机数值
- 随机生成六位不重复数值
- java获取随机不重复的数得值
- C# 获取随机数 或者随机数组 。net获取不重复的随机数或者随机数组
- 从一个数组中随机获取一些并不重复的数据
- 随机获取数Month.random 及在js中获取n位相互不重复的数据
- 在JavaScript中获取不重复的随机数
- JavaScript获取不重复随机数
- javascript获取随机rgb颜色和十六进制颜色的方法
- javascript-随机生成不重复的随机数
- javascript数组不重复随机打乱
- python获取指定时间段内的随机不重复的时间点
- JavaScript 随机抽取不重复的数组元素,你真的会吗?
- javascript获取随机颜色
- javascript获取随机颜色
- javascript随机抽取0-100之间不重复的10个数
- js获取随机不重复数(高性能)
- javascript数组操作篇:《随机获取N项》
- js 随机获取10个不重复的1~20之间的整数数组