js 随机产生100个0~1000之间的整数

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script>
    window.onload = function(){
    
    var arr = randomNum(1000,100);
  
    alert(arr);


  /*
    这种方法不太好,混乱并且容易出错
  
var arrNumber = []; for(var i=0;i<100;i++){ var number = Math.round((Math.random()*1000)); for(var j=0;j<arrNumber.length;j++){ if(number == arrNumber[j]){ i--; break; } } if(j == arrNumber.length){ arrNumber.splice(i,0,number); //添加 } if(i && i%10 == 0){ arrNumber[i] = arrNumber[i]+'<br />'; } } document.body.innerHTML = arrNumber; */ };


 /*这种写法比较好*/
 function randomNum(iNumber,iNow){
        var arrNumber = [];
        var newNumber = [];
        for(var i=0;i<=iNumber;i++){
            arrNumber.push(i);
        }
        
        for(var i=0;i<iNow;i++){
            newNumber.push(arrNumber.splice(Math.floor(Math.random()*arrNumber.length),1)); //这里注意用法Math.floor向下取整,随机数取得数【0-1)不会越界,如果使用Math.round则,后面数组的长度则-1,否则数组下标越界,会有问题
        }
        
        return newNumber;
        
    }


</script> </head> <body> </body> </html>

 

posted on 2018-04-19 22:14  朝颜陌  阅读(4822)  评论(0编辑  收藏  举报

导航