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>