如何生成一组不重复的六位随机数

要求生成一个数组,装六位随机数,并且这些随机数不能重复。
(数组内装多个随机数,每个随机数为六位数,数组内的随机数不重复)

可以参考下面两个代码,可以把这两个结合起来。

//随机六位数

function MathRand()

{

    var Num="";

    for(var i=0;i<6;i++)

    {

        Num+=Math.floor(Math.random()*10);

    }

}

//不重复随机数组

/*  num 要产生多少个随机数

    from 产生随机数的最小值

    to 产生随机数的最大值   */

function createRandom(num ,from ,to )

{

    var arr=[];

    for(var i=from;i<=to;i++)

        arr.push(i);

    arr.sort(function(){

        return 0.5-Math.random();

    });

    arr.length=num;

    return arr;

}

 

function createRandom2(num , from , to)

{

    var arr=[];

    var json={};

    while(arr.length<num)

    {

        //产生单个随机数

        var ranNum=Math.ceil(Math.random()*(to-from))+from;

        //通过判断json对象的索引值是否存在 来标记 是否重复

        if(!json[ranNum])

        {

            json[ranNum]=1;

            arr.push(ranNum);

        }

         

    }

    return arr;

     

     

}

alert(createRandom2(10,0,50));//生成10个从0-50之间不重复的随机数


幕布斯7119047
浏览 833回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript