getRandomInt始终返回0

问题描述 投票:-1回答:1

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

console.log(getRandomInt(1));

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

我只需要为1或0。

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

enter image description here

javascript google-chrome mozilla
1个回答
2
投票

此行为背后的原因是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);
}

希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.