javascript - getRandomInt 总是返回 0
问题描述
console.log(getRandomInt(1));
function getRandomInt(max) {
return Math.floor(Math.random() * Math.floor(max));
}
我只需要它是 1 或 0。
如果我在 chrome 开发人员控制台中调用上述脚本,那么我总是得到“未定义”
解决方案
这种行为背后的原因是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
。如果您删除它,您将看到该值。
推荐阅读
- algorithm - 如何从图表中获取 Voronoi 站点点
- typescript - Lodash _.reduce()“预期 2-3 个参数,但在 TypeScript 中得到 2”错误
- ruby - Select() 方法和 option() 方法的工作方式不同
- c - 关于C表达式的问题
- r - 如何根据给定R中的列的条件动态创建特定数量的列
- c++ - 如果验证容器的大小并在相同的条件语句下访问元素,这是一种好习惯吗?
- python - 如何在熊猫 DatFarame 中以列名编写元字符
- android - BottomNavigationView 菜单中的矢量可绘制对象导致错误
- angular - 无法实例化循环依赖!AuthService ("[ERROR ->]"): 在 ./AppModule@-1:-1 中的 NgModule AppModule
- html - 以表格形式上传图片