Случайное число для заданного количества - PullRequest
0 голосов
/ 21 марта 2019

Я генерирую 4-хзначное случайное число, используя Math.floor(Math.random() * 9999). Теперь у меня есть другое требование. Я должен получить номер случайного числа, которое будет сгенерировано в текстовом поле. eg: If they enter 5 in textbox it has to return 5 four-digit random number. Есть идеи, как это сделать? любая ссылка?

Ответы [ 3 ]

2 голосов
/ 21 марта 2019

Просто вызовите метод пару раз, в зависимости от ввода. Обратите внимание, что вам нужно использовать метод создания случайных чисел ниже вашего вместо того, чтобы гарантировать четырехзначные числа.

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>
0 голосов
/ 21 марта 2019

Вызовите getRandoms с n = 5 и high = 9999. Обработайте возвращаемый массив из 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;
};
0 голосов
/ 21 марта 2019

Вы можете просто позвонить на ваш 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);
} 

См. это реализация машинописного текста (Angular).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...