解决方案 »

  1.   

    原生的JS产生的。巧用原生API生成多个不相等的随机数
      

  2.   

    两种方法,第一种没啥好说的,就是先生成一个范围数组,然后数组打乱顺序,截取你需要的个数即为所求(不过这种方式在火狐浏览器下并不是很随机,多刷新几次,你会发现,很多时候还是很有规律的,甚至顺序)第二种接触检测json对象索引值来判断查重处理具体代码如下/*
    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之间不重复的随机数