<!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>