JS生成不重复随机数组的函数代码
//获取数组中的随机数
//HF.Math.RandomNumbers是前缀,可以自己定义,主要看逻辑代码
HF.Math.RandomNumbers = function (startNum, endNum, count, repeat) {
var ret = [];
if (repeat) {
for (var i = 0; i < count; i++) {
ret[i] = HF.Math.Random(startNum, endNum);
}
return ret;
}
var tmp = [];
var i = 0;
for (var s = startNum; s <= endNum; s++) {
tmp[i++] = s;
}
var l = tmp.length;
for (i = 0; i < count; i++) {
ret[i] = HF.Array.Remove(tmp, HF.Math.Random(0, --l));
}
return ret;
}
相关推荐
-
从数组中随机取x条不重复数据的JS代码
工作中经常遇到有关数组的一些操作 1. 从数据中随机取x条不重复的数据 (PS:下面的S.each是KISSY.each方法,大家可以改为for循环) 复制代码 代码如下: /*从数组arr中随机取x条不重复的数据 */ function myRand(arr,num){ var newArr = []; rand(num); //随机 x 个 function rand(k){ if(k==0){ return; }
-
Javascript从数组中随机取出不同元素的两种方法
一.常规算法 第一种方法较常规,经测试有bug,数据量大以后随机几次返回的对象直接是function而不是object. 当然简单数据类型应该没有这个问题. 示例代码 /** 从数组中随机抽取数据 2016-09-09 **/ function getArrItem(arr, num) { var temp_array = new Array(); for (var index in arr) { temp_array.push(arr[index]); } var return_array =
-
js获取数组任意个不重复的随机数组元素 原创
复制代码 代码如下: <script language="javascript"> //从一个给定的数组arr中,随机返回num个不重复项 function getArrayItems(arr, num) { //新建一个数组,将传入的数组复制过来,用于运算,而不要直接操作传入的数组; var temp_array = new Array(); for (var index in arr) { temp_array.push(arr[index]); } //取出的数值项,
-
JS 在指定数组中随机取出N个不重复的数据
复制代码 代码如下: <script language="javascript">//从一个给定的数组arr中,随机返回num个不重复项function getArrayItems(arr, num) { //新建一个数组,将传入的数组复制过来,用于运算,而不要直接操作传入的数组; var temp_array = new Array(); for (var index in arr) { temp_array.push(arr[index]
-
JS随机洗牌算法之数组随机排序
推荐阅读:JavaScript学习笔记之数组的增.删.改.查 JavaScript学习笔记之数组求和方法 JavaScript学习笔记之数组随机排序 洗牌算法是一个比较形象的术语,本质上让一个数组内的元素随机排列.举例来说,我们有一个如下图所示的数组,数组长度为 9,数组内元素的值顺次分别是 1~9: 从上面这个数组入手,我们要做的就是打乱数组内元素的顺序: 代码实现 维基百科上的 Fisher–Yates shuffle 词条对洗牌算法做了详细介绍,下面演示的算法也是基于其中的理论编写的: A
-
js实现从数组里随机获取元素
基础知识: 复制数组: (1)循环遍历复制(不推荐) 复制代码 代码如下: var arry = [1,5,9,7], new_arry = [], n = 0, len = arry.length; for(;n<len;n++){ new_arry.push(arry[n]); } (2)concat() 方法用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本 复制代码 代码如下: var arry = [1,5,9,7],
-
js数组中如何随机取出一个值
复制代码 代码如下: <html> <boby> </body> <script language="javascript"> window.onload = function(){ var arr = ["太阳光大.父母恩大.君子量大.小人气大","成功是优点的发挥,失败是缺点的累积","不要小看自己,因为人有无限的可能", "口说好话.心想好意.身行好事"
-
用js实现随机返回数组的一个元素
复制代码 代码如下: <SCRIPT LANGUAGE="JavaScript"> <!-- var test = ["aa","bb","cc","dd","ee"]; document.write(test[Math.floor(Math.random()*test.length)]); setInterval("location.reload()&quo
-
js 数组随机字符串(广告不重复)
比较好的地方就是js数组的操作,不重复的数组id显示,完美实现. theAds=new Array(); shu =13; dot=''; theAds[1]='我们第一条'; theAds[2]='我们第二条'; theAds[3]='我们第三条'; theAds[4]='我们第四条'; theAds[5]='我们第五条'; theAds[6]='我们第六条'; theAds[7]='我们第七条'; theAds[8]='我们第八条'; theAds[9]='我们第九条'; theAds[10
-
JavaScript数组随机排列实现随机洗牌功能
本文实例讲述了JavaScript数组随机排列实现随机洗牌功能的方法.分享给大家供大家参考.具体分析如下: 这段JS代码可以对数组内的元素进行随机排列,这个非常有用,比如我们在玩扑克牌的时候可以让扑克牌进行排列,也就是电脑洗牌. var list = [1,2,3,4,5,6,7,8,9]; list = list.sort(function() Math.random() - 0.5); Print(list); // prints something like: 4,3,1,2,9,5,6,
随机推荐
- java web验证码实现代码分享
- 理解AngularJs篇:30分钟快速掌握AngularJs
- 基于PHP实现假装商品限时抢购繁忙的效果
- C/C++程序编译流程详解
- mysql中取系统当前时间,当前日期方便查询判定的代码
- 浅析Android中的visibility属性
- 用php将任何格式视频转为flv的代码
- Bootstrap的class样式小结
- 男人偷情与女人偷情的目的
- 在Ruby中处理XML和XSLT以及XPath的简单教程
- MySql5.7.18字符集配置图文详解
- jQuery焦点图切换特效代码分享
- 对于jQuery性能的一些优化建议
- 通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
- jQuery中toggle()函数的使用实例
- C++日志记录类实例解析
- VC中CWinThread类以及和createthread API的区别分析
- Java工具类DateUtils实例详解
- ASP.net WebAPI跨域调用问题的解决方法
- 深入理解Node module模块