1. 程式人生 > >JS如何用Math.random()來生成指定範圍內的隨機數?

JS如何用Math.random()來生成指定範圍內的隨機數?

寫在前面:關於取得隨機數的時候一般都會帶著小數點,生成一個整數總是更容易方便我們計算以及使用,那麼有哪些方法可以使隨機數生成一個整數

傳送門:(我明天再寫。)

引言:隨機數在實際中使用很廣泛,比如要隨即生成一個固定長度的字串、數字。或者像js-task1中一樣隨機選擇一個盒子,隨機一個顏色等等。這個時候我們就要知道用js應該如何獲取一個隨機數。

1.首先我們需要知道下面這幾個概念,知識點主要都是從w3c,Math屬性介紹裡面演化出來的:傳送門      

1.Math.random(); 結果為0-1間的一個隨機數(包括0,不包括1)

2.Math.floor(num); 引數num為一個數值,函式結果為num的整數部分。

3.Math.round(num); 引數num為一個數值,函式結果為num四捨五入後的整數。

Math:數學物件,提供對資料的數學計算。

Math.random(); 返回0和1間(包括0,不包括1)的一個隨機數。

Math.ceil(n); 返回大於等於n的最小整數。

用Math.ceil(Math.random()*10);時,主要獲取1到10的隨機整數,取0的機率極小。

Math.round(n); 返回n四捨五入後整數的值。

用Math.round(Math.random());可均衡獲取0到1的隨機整數。

用Math.round(Math.random()*10);時,可基本均衡獲取0到10的隨機整數,其中獲取最小值0和最大值10的機率少一半。

Math.floor(n); 返回小於等於n的最大整數。

用Math.floor(Math.random()*10);時,可均衡獲取0到9的隨機整數。

2.如果看不懂的話,也沒關係,自己多寫寫demo然後回頭再看這些屬性,或者多做做專案,就會運用了!不要過於糾結這些,細枝末節!

3.生成隨機數的公式!!

如果你希望生成任意值到任意值(也就是指定範圍內)的隨機數,我從網上找來了生成公式:Math.floor(Math.random()*(max-min+1)+min);

// max - 期望的最大值

// min - 期望的最小值

4.下面是我自己demo 的一些程式碼,大家可以複製回去,試一試。

這是我程式碼和demo頁面的截圖。



大家可以去試試基本上就是這樣子了,碼字不易,喜歡的可以點個喜歡。github可以互相f。