getRandomInt всегда возвращает 0 - PullRequest
       48

getRandomInt всегда возвращает 0

0 голосов
/ 13 октября 2019

Я использую функцию от developer.mozilla.com

console.log(getRandomInt(1));

function getRandomInt(max) {
  return Math.floor(Math.random() * Math.floor(max));
}

Мне нужно, чтобы оно было только 1 или 0.

Если я вызываю приведенный выше скрипт в консоли разработчика Chrome, тогда я всегда получаю "undefined"

enter image description here

1 Ответ

2 голосов
/ 13 октября 2019

Причина такого поведения Math.floor(). Из документации:

Функция Math.floor () возвращает наибольшее целое число, меньшее или равное данному числу.

Источник: Math.floor()

То, что вам нужно, чтобы заставить его работать согласно вашему требованию, это Math.round(). Как указано в документации:

Функция Math.round () возвращает значение числа, округленное до ближайшего целого числа.

Источник: Math.round()

Этот пример приведен ниже:

console.log(getRandomInt(1));

function getRandomInt(max) {
   const random = Math.random() * max;
   return Math.round(random);
}

Надеюсь, это поможет!

Дополнение:

И, как упоминалось @Kaiido, у вас есть активный фильтрсо значением name. Если вы удалите его, вы увидите значение.

...