javascript - FizzBuzz 函数没有通过不是数字逻辑
问题描述
我整理了一个 fizzbuzz 算法,由于某种奇怪的原因,当分配给输入的值似乎接受每个输入并返回“不是数字”时,函数的一部分应该返回“不是数字”如果我保留 if 语句函数顶部的 NaN ,没有任何东西可以通过它。如果我把它放在返回输入之前,如果我把 # 可以被 3 或 5 整除,或者两者兼而有之,该函数将运行良好,但是一旦它达到 NaN 逻辑,它就会停止并且控制台记录不是数字。我确定我犯了一个明显的错误,但我看不到它。谁能让我知道我做错了什么? 在此处输入图像描述
解决方案
你只是反向写了条件检查
function fizzBuzz(input) {
if (typeof input !== 'number') {
return 'Not a number';
}
if ((input % 3 === 0) && (input % 5 === 0)) {
return 'FizzBuzz';
}
if (input % 3 === 0) {
return 'Fizz';
}
if (input % 5 === 0) {
return 'Buzz';
}
return input;
};
const output = fizzBuzz();
console.log(output);
推荐阅读
- c# - ADO.NET 高效调用存储过程
- ruby-on-rails - 如何显示来自另一个模型的(多个)参数
- reactjs - 将动态变量传递给 graphQL
- elasticsearch - 如何从远程位置在 elasticseach 中使用 synonyms.txt 和 stopwords.txt?
- amazon-web-services - 监控 AWS Direct Connect 虚拟接口
- ruby - 如何在Ruby中为弹性搜索aws post请求传递有效负载
- microservices - Heartbeat 在微服务方面是什么意思?
- c# - 返回或等待任务
在 WCF 中 - angularjs - 带有 AngularJS 的 Django
- c# - C# - IEnumerable 选择 1 单个随机元素 CPU 使用率