javascript - 如何修复 NaN 错误 - 参数值不加、减、除或乘 - 在 JavaScript 中
问题描述
我最终试图在 CodeWars 上解决这个 kata 。
首先,我只是想获得这个人速度的“速率”。
function shark(pontoonDistance, sharkDistance, youSpeed, sharkSpeed, dolphin) {
let yourRate = pontoonDistance / youSpeed;
return yourRate;
}
console.log(shark((12, 50, 4, 8, true)));
但这是回归NaN
。这没有任何意义。这个类似的代码将返回2
:
function divide(firstValue, secondValue) {
let newValue = secondValue / firstValue;
return newValue;
}
console.log(divide(3, 6));
这些情况有什么不同,会导致第一个返回NaN
?
我计划与另一个变量进行比较,sharkRate
(sharkDistance / sharkSpeed)
. 如果 yourRate 大于 SharkRate,则此人将游到安全处。
但首先,我只是想弄清楚为什么yourRate
要返回NaN
?
谢谢你。
解决方案
当前代码中的问题是您的shark
调用中有一对额外的括号。这导致您的代码尝试除以(12, 50, 4, 8, true)
(undefined
因为这是传递的唯一参数,并且youSpeed
不存在。删除这些将解决您的问题:
function shark(pontoonDistance, sharkDistance, youSpeed, sharkSpeed, dolphin) {
let yourRate = pontoonDistance / youSpeed;
return yourRate;
}
console.log(shark(12, 50, 4, 8, true));
推荐阅读
- java - 如何使用 Jsoup Android 的 HTML 解析在 android 中获取视频标签的 src?
- git - 关于如何创建存储库的建议(游戏改装)
- opengl - Vulkan 和 X11 像素图
- powershell - 如何使用 PowerShell 从字符串中读取特定变量?
- reactjs - MERN 部署到 heroku - 应用程序功能不起作用
- mysql - 防止 MySQL 更新多于一行
- r - 按值过滤列表列表
- apache-spark - java.lang.NoClassDefFoundError 上的错误:org/apache/spark/sql/SQLContext
- python - 将相似的嵌套字典的值组合成一个新的嵌套字典
- docker - 如何决定在 Kubernetes 中我需要多少个服务实例?