簡體   English   中英

使用javascript中的特定數字生成隨機數

[英]generate random number using specific digits in javascript

在我的程序中,我想生成5位數字的隨機數,這樣的數字只包含數字(1到7)。

var randnum = Math.floor(Math.random() * (11111 - 77777 + 1)) + 11111;

使用上面的代碼,我得到的數字介於1111177777之間。 但是如何生成不包含0,8,9 有沒有默認的方法來生成這種數字?

您可以一次生成每個數字,將它們連接起來然后parseInt獲得結果:

var str = '';
for (var i=0; i<5; i++) {
  str += Math.floor(Math.random()*7) + 1;
}
var randnum = parseInt(str);

演示

說明

Math.random()返回[0,1)

Math.random() * 7返回[0,7)

Math.floor(...)返回0、1、2、3、4、5、6

...+1返回1,2,3,4,5,6,7

例如,

digits = [1,2,3,4,5,6,7]
len = 5
num = 0
while(len--)
    num = num * 10 + digits[Math.floor(Math.random() * digits.length)]
console.log(num)

這樣,您可以輕松選擇要使用的數字。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM