JS 生成一组不重复的随机数

随机产生一组介于指定范围不重复的随机数。

1.主要实现

/// 
/// 生成一个指定范围的随机数
/// 
/// 起始值
/// 终止值
function newNumber(start,end){
    return Math.round(Math.random()*(end-start)+start);//生成在[start,end]范围内的随机数值,只支持不小于0的合法范围
}
/// 
/// 目标数字是否已经存在于现有数字集合中
/// 
/// 现有数字集合
/// 目标数字
function isHaveThisNumber(para,num){
    //拒绝无效的数组
    if(typeof(para) == "object")
    {
        if(para.length==0)
        {
            NGLogger.Info("数组为空");
            return false;
        }
    }
    for(var i=0;i
/// 生成一个不重复的随机数数组
/// 
/// 起始值
/// 终止值
/// 随机数大小
function newRandomNumbersWithNoRepeat(start,end,size){
    var para=new Array();//目标随机数组
    var rnum;//当前随机数
    var currentIndex=0;//当前随机数组的索引
    if(start>end||start<0||end<0||size<0){
        NGLogger.Info("无效参数");
        return;
    }
    if(end-start+1

2.测试一下:

function AppMain(){
    var para=newRandomNumbersWithNoRepeat(1,2000,1000);//生成1到2000范围内
    NGLogger.Info("已经生成"+para.length+"个随机数。\n随机序列为:"+para.toString());
}

3.运行结果:


你可能感兴趣的:(JavaScript)