给定计数的随机数

时间:2019-03-21 11:53:56

标签: javascript node.js angular typescript express

我正在使用Math.floor(Math.random() * 9999)生成4位数的随机数。现在,我还有另一个要求。我必须获取要在文本框中生成的随机数。 eg: If they enter 5 in textbox it has to return 5 four-digit random number.有什么想法吗?有参考吗?

3 个答案:

答案 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;
};