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;
                }
  • 相关阅读:
    设计模式代理模式
    设计模式建造者模式(生成器模式)
    SQL SERVER SA 无法登陆的解决方法
    [转]ASP.NET编程技巧10则
    键盘伪码
    MICROSOFT和ADOBE干上了?
    WINDOWS2003域控制器禁止U盘
    Dameware在Winxp下权限配置
    FTP操作
    WinForm 鼠标在页面无操作时页面关闭
  • 原文地址:https://www.cnblogs.com/lipengze/p/11429507.html
Copyright © 2011-2022 走看看