本帖最后由 qq1685750741 于 2012-07-01 18:48:34 编辑

解决方案 »

  1.   

    <script type="text/javascript">
    var size=0;
    var arr=[];
    while(true){
    var b=parseInt(Math.random()*50);
    if(arr[b+'a']==undefined){
    arr[b+'a']=b;
    size+=1;
    if(size==50){
    break;
    }
    }
    }
    for(var i in arr){
    document.write(arr[i]+"<br/>");
    }
    </script>
    这样试试
      

  2.   

    Array.prototype.in_array = function(v) {
    for (var i = 0; i < this.length; i ++) if (this[i] == v) return true;
    return false;
    }
    var ar = [];
    for (var i = 0; i < 50; i ++) {
    var x = Math.floor(Math.random() * 10000 + 1); //产生 1 - 10000范围内的随机数
    while(ar.in_array(x)) x = Math.floor(Math.random() * 10000 + 1);
    ar.push(x);
    }
    alert(ar);
      

  3.   

    var i_rang=100;
    //生成随机数范围,不能小于50
    var arr = [],a_arr=[];
    var temp,n;
    for(var i=0;i<50;i++){
    temp=false;
    do{
    n=parseInt(Math.random()*i_rang);
    if(!arr[n]){
    arr[n]=true;
    temp=true;
    a_arr.push(n);
    }
    }while(!temp)
    }
    document.write (a_arr.join("-"));
      

  4.   

    <script type="text/javascript">
        function GetRandomNum(Min, Max) {
            var Range = Max - Min;
            var Rand = Math.random();
            return (Min + Math.round(Rand * Range));
        }
        var arr = [];
        for (var i = 0; i < 50; i++) {
            arr.push(GetRandomNum(1, 100));
        }
        alert(arr);
    </script>
    GetRandomNum(1, 100)
    1,100,表示在1-100中取任意一个随机数