亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

JavaScript生成指定范圍隨機數和隨機序列的方法

2024-05-06 16:44:05
字體:
來源:轉載
供稿:網友

在JavaScript中我們經常使用Math.random()方法生成隨機數,但是該方法生成的隨機數只是0-1之間的隨機數。先看如下常用方法的特征:

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

•2.Math.floor(num); 參數num為一個數值,函數結果為num的整數部分。與取整數的parseInt(num)方法一樣。

•3.Math.round(num); 參數num為一個數值,函數結果為num四舍五入后的整數。

•4.Math.ceil(num); 返回大于等于n的最小整數。

合理使用上述方法生成指定范圍的隨機數:

包含最小值不包含最大值的情況:

  parseInt(num)取整,將傳入的num向小的整數轉化。將Math.random()乘以最大和最小的差值,在用parseInt處理(注意此時的范圍是【0-差值)),再加上最小值,就能得到包括最小值但不包括最大值的整數。

 獲取包含最小值但不包括最大值的隨機數,用如下函數實現:

function getRandom1(start, end) {      var length = end - start;      var num = parseInt(Math.random() * (length) + start);      return num;    }

包括最大值但不包含最小值的情況:

  Math.ceil(num)取得大于等于num的最小整數,也就是將傳入的num向大的整數轉化。將Math.random()乘以最大和最小的差值,在用Math.ceil()處理(注意此時的范圍是(0-差值】),在加上最小值,就能得到不包括最小值但包括最大值的整數。也就是將上面情況的parseInt改為Math.ceil()

獲取包含最大值但不包括最小值的隨機數,用如下函數實現:

 function getRandom1(start, end) {    var length = end - start;    var num = Math.ceil(Math.random() * (length) + start);    return num;  }

最大值和最小值都包含的情況:

  最大值和最小值都包含,此時可取值的范圍相比于上述兩種情況已經 擴大1。在生成隨機數階段,就要將可能生成隨機數的范圍擴大1。使用parseInt向小的值取整可行,用Math.ceil(num)往大的值轉化也可以(轉化后需要-1)。不管采用哪種方式,關鍵在于生成隨機數階段將范圍加1.

采用parseInt的方法

function getRandom1(start, end) {    var length = end - start + 1;    var num = parseInt(Math.random() * (length) + end);    return num;  }

--------------------------------------------------------------------------------

  一些時候,僅僅生成隨機數是不夠的,還需要將指定范圍的數值,按照隨機順序排列。我們將這個問題轉化為生成隨機數后加入數組并避免重復的問題。每次循環順序生成的數是隨機的,按照順序加入數組,以此實現數值大小的隨機排列。

生成指定范圍的隨機數序列:

  隨機序列可直接通過sort排序方法實現,將一個包含一組按順序排列的數字元素,調用sort方法,通過函數傳入隨機生成的值(可能為正可能為負),就可以將順序打亂,得到該數組的隨機序列。

如下:getNum()返回的是數字1-10按順序排列的數組,則得到的numArr就是1-10的隨機序列:

  var numArr = getNum().sort(function () {        return Math.random() - 0.5;      });

自己寫邏輯生成隨機序列也是可行的:

  定義存儲隨機數的數組,然后循環生成隨機數,生成之后到已有數組中查找,如果存在,將標記變為false表示產生的隨機數重復,根據標記值來決定是否加入數組。若加入數組成功,則數組下標index(表示數組元素個數)自增,滿足條件退出循環。下面例子實現5-10之間的隨機序列(下面案例是左右包含的):

function getOrder(start, end) {      var length = end - start;      var myorder = new Array();      var index = 0;      while (index < length+1) {        var flag = true;        var num = parseInt(Math.random() * (length + 1));        for (var i in myorder) {          if (myorder[i] == num) {            flag = false;          }        }        if (flag == true) {          myorder[index] = num;          index++;        }      }      alert(myorder.length);      alert(myorder);    }getOrder(5, 10);

總結

以上所述是小編給大家介紹的JavaScript生成指定范圍隨機數和隨機序列,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
68精品国产免费久久久久久婷婷| 欧美色视频日本版| 国内精久久久久久久久久人| 国产不卡在线观看| 国产精品久久不能| 亚洲人成电影网站色| 成人午夜小视频| 国产97在线|日韩| 日韩精品在线观看一区二区| 欧美中文在线观看| 九色精品免费永久在线| 九九热精品视频国产| 日韩精品免费在线播放| 国产精品99久久久久久久久| 欧美日本精品在线| 亚洲一区二区日本| 色综合91久久精品中文字幕| 日韩精品在线免费播放| 亚洲的天堂在线中文字幕| 国产精品99久久久久久www| 久久精品国产久精国产思思| 91热福利电影| 国产精品亚洲自拍| 国产精选久久久久久| 91极品女神在线| 亚洲人成网站在线播| 欧美视频精品一区| 久久久国产精品亚洲一区| 亚洲色图综合久久| 久久艳片www.17c.com| 亚洲xxx大片| 亚洲一区av在线播放| y97精品国产97久久久久久| www国产亚洲精品久久网站| 91高清视频在线免费观看| 欧美精品在线极品| 国产深夜精品福利| 奇米四色中文综合久久| 日韩在线视频中文字幕| 亚洲精品二三区| 国产精品视频999| 国内精品久久久久久久久| 日韩最新在线视频| 亚洲乱码一区av黑人高潮| 日韩av电影中文字幕| 国产精品黄色影片导航在线观看| 91欧美精品成人综合在线观看| 国产精品视频内| 成人福利免费观看| 成人网中文字幕| 国产成人久久久精品一区| 欧美有码在线观看| 欧美电影第一页| 国产精品久久久久久久久久久久久久| 久久亚洲精品中文字幕冲田杏梨| 欧美精品www在线观看| 日韩成人av在线| 国产欧美日韩亚洲精品| 日韩国产欧美区| 亚洲国产精品久久精品怡红院| 日韩欧美一区二区三区久久| 高清一区二区三区四区五区| 亚洲黄色成人网| 国产精品视频免费在线观看| 欧美激情高清视频| 国产日韩换脸av一区在线观看| 精品国产电影一区| 欧美黑人性猛交| 亚洲国产精品专区久久| 国产欧美va欧美va香蕉在线| 91色中文字幕| 亚洲xxxx做受欧美| 亚洲第一福利网| 欧美大片在线影院| 91sa在线看| 欧美一级淫片丝袜脚交| 欧美在线视频网| 国产美女精品免费电影| 国产亚洲欧洲高清| 成人免费激情视频| xxxx欧美18另类的高清| 亚洲成色www8888| 国产精品第一第二| 亚洲直播在线一区| 国产精品a久久久久久| 午夜免费在线观看精品视频| 国产+成+人+亚洲欧洲| 中文字幕在线看视频国产欧美在线看完整| 亚洲国产欧美一区二区三区同亚洲| 久久久久国产精品免费网站| 91精品视频在线看| 亚洲国模精品私拍| 亚洲人a成www在线影院| 欧美一区深夜视频| 伊是香蕉大人久久| 91夜夜未满十八勿入爽爽影院| 欧美巨猛xxxx猛交黑人97人| 国产精品精品一区二区三区午夜版| 亚洲精品av在线播放| 欧美最猛性xxxx| 美女视频黄免费的亚洲男人天堂| 亚洲美女在线看| 亚洲国产小视频在线观看| 日韩综合中文字幕| 国产一区二区三区在线免费观看| 国产精品丝袜一区二区三区| 亚洲男人的天堂在线| 欧美日本精品在线| 亚洲国产一区二区三区在线观看| 91人成网站www| 欧美有码在线视频| 国产午夜精品一区二区三区| 色一区av在线| 欧亚精品在线观看| 欧美视频第一页| 亚洲国产精品久久久| 日韩在线观看免费网站| 91免费看视频.| 欧美国产第一页| 国产欧美日韩亚洲精品| 欧美猛交ⅹxxx乱大交视频| 久久精彩免费视频| 亚洲精品久久久久久下一站| 韩国精品美女www爽爽爽视频| 91a在线视频| 色爱精品视频一区| 92版电视剧仙鹤神针在线观看| 久99九色视频在线观看| 久久久久999| 精品一区二区三区四区在线| 日韩免费av片在线观看| 国产成人高潮免费观看精品| 国产激情综合五月久久| 欧美韩国理论所午夜片917电影| 欧洲中文字幕国产精品| 在线成人免费网站| 亚洲福利视频网| 国产精品久久久久久av福利| 色婷婷**av毛片一区| 91亚洲精品一区二区| 欧美成人精品三级在线观看| 亚洲精品日韩久久久| 色综合视频一区中文字幕| 欧美精品一区在线播放| 亚洲国产精品成人一区二区| 亚洲欧美另类中文字幕| 精品中文字幕视频| 欧美视频不卡中文| 成人精品视频99在线观看免费| 欧美激情在线播放| 国产va免费精品高清在线| 日产日韩在线亚洲欧美| 精品露脸国产偷人在视频| 久久精品一偷一偷国产| 性色av一区二区三区红粉影视| 国产一区欧美二区三区| 日韩暖暖在线视频| 亚洲福利在线观看| 亚洲第一av网站| 国内精品久久久久伊人av| 97视频在线观看免费高清完整版在线观看| 欧美视频精品一区| 国产成人一区二区三区小说| 亚洲电影免费观看高清完整版在线观看|