getRandomInt 总是 returns 0

getRandomInt always returns 0

我正在使用 developer.mozilla.com

中的函数

console.log(getRandomInt(1));

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

我只需要它是 1 或 0。

如果我在 chrome 开发者控制台中调用上面的脚本,那么我总是得到 "undefined"

此行为背后的原因是 Math.floor()。来自文档:

The Math.floor() function returns the largest integer less than or equal to a given number.

来源:Math.floor()

要使它按您的要求工作,您需要使用的是 Math.round()。正如文档所述:

The Math.round() function returns the value of a number rounded to the nearest integer.

来源:Math.round()

请在下面找到这个例子:

console.log(getRandomInt(1));

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

希望对您有所帮助!

加法:

正如 @Kaiido 提到的,您有一个值为 name 的活动过滤器。如果删除它,您将看到该值。