首页 > 解决方案 > getRandomInt 总是返回 0

问题描述

我正在使用developer.mozilla.com的功能

console.log(getRandomInt(1));

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

我只需要它是 1 或 0。

如果我在 chrome 开发人员控制台中调用上述脚本,那么我总是得到“未定义”

在此处输入图像描述

标签: javascriptgoogle-chromemozilla

解决方案


这种行为背后的原因是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。如果您删除它,您将看到该值。


推荐阅读