我正在使用Math.floor(Math.random() * 9999)
生成4位数的随机数。现在,我还有另一个要求。我必须获取要在文本框中生成的随机数。 eg: If they enter 5 in textbox it has to return 5 four-digit random number.
有什么想法吗?有参考吗?
答案 0 :(得分:2)
根据输入,仅几次调用该方法。请注意,您需要使用以下随机数创建方法来代替,以保证4位数字。
function getRand() {
return Math.floor(Math.random() * (9999 - 1000) + 1000);
}
document.getElementById('btn').addEventListener('click', () => {
const length = document.getElementById('foo').value;
const numbers = Array.from({length}, getRand);
document.getElementById('bar').innerText = numbers.join(', ');
});
<input id="foo" type="number">
<button id="btn">Get</button>
<div id="bar"></div>
答案 1 :(得分:0)
您只需按以下方式拨打4 digit random number generator function()
n次(n在输入字段中给定数字),即可:
for(let i=1;i<=this.n;i++) {
this.ara.push(this.random());
}
random() {
return Math.floor(Math.random()*(9999-1000) + 1000);
}
请参见this打字稿实施(角度)。
答案 2 :(得分:0)
使用n = 5和high = 9999调用getRandoms。根据需要处理5元素返回数组。
// pseudo-randomly generate an integer in the range low to high
function getRandom( high, low ) {
// default low is 0
if ('undefined' == typeof low) low = 0;
var range = high - low + 1;
var r = Math.floor( range*Math.random() + .5);
return Math.min(low + r, high);
};
// get n pseudo-random number in the range low to high
function getRandoms( n, high, low ) {
// default low is 0
if ('undefined' == typeof low) low = 0;
var randoms = new Array(); // initialize return
for (var i = 0; i < n; i++) {
randoms.push(getRandom(high, low));
}
return randoms;
};