用的floor函數卻有10的情況
Math.random()的值是小于1的,那么用floor函數就不可能得到1,即結果中不會存在10,但是個人調試的結果3次第一個值都是10,請問是為什么?(注:按照題目應該用round) ?
如下是我的代碼:
<!DOCTYPE?html>
<html>
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/>
<title>Math?</title>
<script?type="text/javascript">
var?myarr=[];
var?i=0;
var?num;
var?j;
num?=?Math.floor(Math.random()*10);
myarr[0]=num;
while(myarr.length<10)
{
????num?=?Math.floor(Math.random()*10);
????for(j=0;j<myarr.length;j++)
????{
????????if(num==myarr[j])
????????{
????????????break;
????????}
????}
????if(j==myarr.length)
????{
????????myarr[j]=num;
????}
}
document.write(myarr.length+"</br>");
for?(var?k?=0;?k?<?myarr.length;?k++)?{
????document.write(myarr[k]+"</br>");
}
</script>
</head>
<body>
</body>
</html>
2017-01-17
被自己蠢哭,第一個是數組的長度,調試了太久,忘記了!
2017-01-17
<!DOCTYPE?html> <html> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/> <title>Math?</title> <script?type="text/javascript"> var?myarr=[]; var?i=0; var?num; var?j; num?=?Math.floor(Math.random()*10); myarr[0]=num; while(myarr.length<10) { ????num?=?Math.floor(Math.random()*10); ????for(j=0;j<myarr.length;j++) ????{ ????????if(num==myarr[j]) ????????{ ????????????break; ????????} ????} ????if(j==myarr.length) ????{ ????????myarr[j]=num; ????} } document.write(myarr.length+"</br>"); for?(var?k?=0;?k?<?myarr.length;?k++)?{ ????document.write(myarr[k]+"</br>"); } </script> </head> <body> </body> </html>如上是我的代碼