繁体   English   中英

如何在Math.floor中使用变量

[英]How to use a variable in Math.floor

我想获得一个人拥有的最大金钱

let targetUser = message.guild.member(message.mentions.users.first()) || message.guild.members.get(args[0]);
var targetForMath = userData[targetUser.id].money;

我想使用该变量设置Math.floor的最大金额。 我试过了

let randomStealCoins = Math.floor(Math.random() * targetForMath) + 1;

但是当我使用它时,它会给我NaN。 我如何才能做到这一点,从而为我提供实际的实际数字,而不是奇怪的东西?

如果未定义targetForMath ,则将为您提供NaN

Math.random() * undefined -> NaN

我将确保targetForMath是有效数字。

除了要说您正在做并且应该注意这一点之外,我不会说您正在混合varlet 我问的第一个问题是什么typeof userData[targetUser.id].money是,更具体地说它的价值是什么。 如果它是数字,布尔值, null或空数组(?!),则它应该可以工作,或者至少不返回NaN。 但是,如果它是字符串,未定义或任何其他值,则JavaScript不会真正知道您说的意思,例如,将Math.random()乘以"fish"

通常在这种情况下,最好console.log出什么是userData[targetUser.id] ,以确保从中获得的对象实际上就是您认为的那样。 实际上,由targetUser的ID定义的userData对象上是否存在属性?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM