javascript - FizzBuzz:num%15 是第一名,而 num%3 是第一名
问题描述
我只想知道为什么 'FizzBuzz 只在 num % 15 === 0 是第一个而不是 num % 3 === 0 是第一个时才有效。
例如:
for (let num = 1; num <= 100; num++) {
if (num % 15 === 0) {
console.log('FizzBuzz');
} else if (num % 5 === 0) {
console.log('Buzz')
} else if (num % 3 === 0) {
console.log('Fizz');
} else {
console.log(num);
}
}
对比
for (let num = 1; num <= 100; num++) {
if (num % 3 === 0) {
console.log('Fizz');
} else if (num % 5 === 0) {
console.log('Buzz')
} else if (num % 15 === 0) {
console.log('FizzBuzz');
} else {
console.log(num);
}
}
解决方案
else if
基本上意味着“如果先前的条件没有通过 THEN IF ...”。所以,在你的第二个片段中,如果num % 3 === 0
是真的,它永远不会检查 ifnum % 5 === 0
或num % 15 === 0
。
推荐阅读
- javascript - 在活动活动 ul 项目下方显示箭头
- windows - 即使将数据插入 PostgreSQL 数据库,Docker 卷仍然是空的
- ios - 以编程方式实例化自定义 xib 以无限循环结束
- python - 使用 oauth2 和 jwt 在 FastApi 中进行身份验证
- mongodb - 在 mongodb 中使用聚合填充嵌套数组对象
- c# - 用户控件的 WPF MVVM 依赖注入
- json - 当为字符串类型提供整数值时,杰克逊映射器反序列化应该失败
- php - 在基岩 wordpress 网站上更新 PHP 版本的最佳方法
- sql-server - 将 case-when 逻辑应用于不同的查询
- asp.net - 允许使用循环和数据库向 ASP.NET 中的多个收件人发送电子邮件