第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

幫我解決一下

使用random()隨機(jī)取得0-10之間的數(shù)值。使用round()對(duì)數(shù)值進(jìn)行四舍五入。 如果我想抽隨機(jī)10個(gè)數(shù),但又不重復(fù)怎么搞?

正在回答

3 回答

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>JS隨機(jī)數(shù)</title>

<style type="text/css">

h1{text-align: center;}

p{ text-align: center; font-size: 36px;}

</style>

</head>


<body>

<h1>JS隨機(jī)數(shù)</h1><hr />

<p id="conA"></p>

<p id="conB"></p>

</body>

<script type="text/javascript">


setTimeout(function(){ window.location.reload();},1000);//每隔1秒刷新1次頁(yè)面

//Math.round() 把一個(gè)數(shù)字舍入為最接近的整數(shù)。

//math.random()取得某個(gè)范圍內(nèi)的隨機(jī)數(shù)

var Array = [] || new Array();

var mupiao;

Array[0] = Math.round((Math.random()) * 10); //輸出的值的范圍 ?

for(var i = 1; i < 10; i++) ?//輸出的個(gè)數(shù)(這里是10個(gè)數(shù))

{

mupiao = Math.round((Math.random()) * 10);

for(var a = 0; a < Array.length; a++)?

{

while(Array[a] == mupiao)?

{

mupiao = Math.round((Math.random()) * 10);

}

}

Array[a] = mupiao;

}

//用js對(duì)象的特性,如何去重復(fù):

//第一步:把數(shù)組轉(zhuǎn)成一個(gè)js對(duì)象。

//第二步:把數(shù)組中的值,變成js對(duì)象中的 key。

//第三步:把這個(gè)對(duì)象 再還原成數(shù)組。


//該方法把 組數(shù) 轉(zhuǎn)為 對(duì)象

var toObject = function(arr)

{

var obj = {} //創(chuàng)建一個(gè)私有(在函數(shù)中)的對(duì)象

for(var i = 0; i < arr.length; i++)

{

obj[arr[i]] = true; //這樣就把數(shù)組轉(zhuǎn)為對(duì)象了(就是把循環(huán)出來(lái)的數(shù)組 放到 對(duì)象中)

}

return obj;

}

//該方法把 對(duì)象 轉(zhuǎn)為 數(shù)組

var keys = function(obj)

{

var arr = []; //創(chuàng)建一個(gè)私有(在函數(shù)中)的數(shù)組

for(var i in obj)

{

if(obj.hasOwnProperty(i)) //判斷這個(gè)屬性是否屬于obj的,注hasOwnProperty是js對(duì)象中的方法

{

arr.push(i);//把循環(huán)出來(lái)的對(duì)象追加到數(shù)組中

}

}

return arr;

}

//合并方法,去除數(shù)組中的重復(fù)項(xiàng)

var uniq = function(arrs)

{

return keys(toObject(arrs));//把數(shù)arrs放到toObject方法中,然后在把toObject方法入到keys方法中并返回,就OK了。

}


document.getElementById('conA').innerHTML = Array;//這是原來(lái)的隨機(jī)數(shù)組

document.getElementById('conB').innerHTML = uniq(Array); //這是去重復(fù)后的隨機(jī)數(shù)組

</script>


</html>


1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_禁滅生_03414590 提問(wèn)者

非常感謝!
2016-08-17 回復(fù) 有任何疑惑可以回復(fù)我~

用if()語(yǔ)句把取得的隨機(jī)數(shù)和前面的比較,如果相同則不輸出,并且array.length++

0 回復(fù) 有任何疑惑可以回復(fù)我~

var array = new Array();

var num;

array[0]=Math.round((Math.random())*100);

for(var i=1;i<10;i++){

num=Math.round((Math.random())*100);

for(var a=0;a<array.length;a++){

? ? ? ? while(array[a]==num) {num=Math.round((Math.random())*100);}

}

array[a]=num;?

}

document.write(array);

91,69,5,82,83,79,93,62,88,7

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

無(wú)知的狗3576298

我想問(wèn)一下 這個(gè)代碼是不是會(huì)出現(xiàn)重復(fù)值呀
2016-07-30 回復(fù) 有任何疑惑可以回復(fù)我~
#2

水里有條魚(yú) 回復(fù) 無(wú)知的狗3576298

不會(huì)啊。
2016-07-30 回復(fù) 有任何疑惑可以回復(fù)我~
#3

無(wú)知的狗3576298 回復(fù) 水里有條魚(yú)

for(var a=0;a<array.length;a++){ while(array[a]==num) {num=Math.round((Math.random())*100);} } 我覺(jué)得這里有問(wèn)題誒 應(yīng)該會(huì)出現(xiàn)重復(fù)值。
2016-07-31 回復(fù) 有任何疑惑可以回復(fù)我~
#4

水里有條魚(yú) 回復(fù) 無(wú)知的狗3576298

...為什么你會(huì)這樣想,我代碼目的是num跟數(shù)組里每一個(gè)數(shù)比較,一樣的話重新設(shè)定num值,到最后出來(lái)的num就跟數(shù)組里面的都不一樣。
2016-07-31 回復(fù) 有任何疑惑可以回復(fù)我~
#5

q_Amily 回復(fù) 水里有條魚(yú)

會(huì)出現(xiàn)重復(fù)值,因?yàn)?while(array[a]==num) {num=Math.round((Math.random())*100);}如果array[a]==num,那么重新獲取一個(gè)隨機(jī)數(shù),這個(gè)新的隨機(jī)數(shù)并沒(méi)有和a之前的數(shù)再次進(jìn)行比較,只是和a++后面的數(shù)進(jìn)行比較,所以還是有可能出現(xiàn)重復(fù)值的,不過(guò),獲得新的隨機(jī)值后,讓它從新從a=0開(kāi)始比較就好了。 while(array[a]==num) {num=Math.round((Math.random())*100);a=0;}
2016-08-03 回復(fù) 有任何疑惑可以回復(fù)我~
#6

q_Amily 回復(fù) q_Amily

不對(duì),應(yīng)該是a=-1,因?yàn)楫?dāng)執(zhí)行語(yǔ)句后a++,這樣才能實(shí)現(xiàn)再次從a=0開(kāi)始比較 fwhile(array[a]==num) {num=Math.round((Math.random())*100);a=-1;}
2016-08-03 回復(fù) 有任何疑惑可以回復(fù)我~
#7

水里有條魚(yú) 回復(fù) q_Amily

有道理
2016-08-03 回復(fù) 有任何疑惑可以回復(fù)我~
查看4條回復(fù)

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)