zoukankan      html  css  js  c++  java
  • 产生指定范围不重复的随机数,产生指定数组不重复的随机数

    /**
                 *  产生指定范围不重复的随机数
                 *  参数一: 最小值    int
                 *  参数二: 最大值    int
                 *  参数三: 随机数量  int
                 *  返回值: 结果数组  Array
                 **/
                function getRandNumForRange(least, max, num) {
                    // 检查传值是否合法
                    if(num > max - least) return false;
                    // 产生指定范围的所有数值
                    var numList = [],
                        numRandList = [],
                        randId;
                    for(var i = least; i < max; i++) numList.push(i);
                    // 产生记录次数
                    for(var i = 0; i < num; i++) {
                        randId = Math.floor(Math.random() * numList.length); // 随机一个数组ID
                        numRandList.push(numList[randId]); // 获取这个值
                        numList.splice(randId, 1); // 删除这个成员 防止下次再次生成
                    }
                    return numRandList;
                }
    
                /**
                 *  产生指定数组不重复的随机数
                 *  参数一: 抽取数组  Array
                 *  参数二: 随机数量  int
                 *  返回值: 结果数组  Array
                 **/
                function getRandNumForArray(numArray, num) {
                    // 检查传值是否合法
                    if(num > numArray.length) return false;
                    // 产生记录次数
                    var numRandList = [],
                        randId;
                    for(var i = 0; i < num; i++) {
                        randId = Math.floor(Math.random() * numArray.length); // 随机一个数组ID
                        numRandList.push(numArray[randId]); // 获取这个值
                        numArray.splice(randId, 1); // 删除这个成员 防止下次再次生成
                    }
                    return numRandList;
                }
  • 相关阅读:
    使用NPOI将TABLE内容导出到EXCEL
    如何判断一个指定的经纬度点是否落在一个多边形区域内?
    SQL随记(三)
    SQL随记(二)
    SQL随记(一)
    微信开发(1)
    关于面试经验的总结
    动态代理是什么
    集合的遍历以及在Spring中的注入
    向服务器发送邮件(四)
  • 原文地址:https://www.cnblogs.com/lipengze/p/11429507.html
Copyright © 2011-2022 走看看