[英]generate random number using specific digits in javascript
在我的程序中,我想生成5位數字的隨機數,這樣的數字只包含數字(1到7)。
var randnum = Math.floor(Math.random() * (11111 - 77777 + 1)) + 11111;
使用上面的代碼,我得到的數字介於11111
和77777
之間。 但是如何生成不包含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.