为什么不'我的if/else语句不能正常工作
Why doesn't my if / else statement work properly?
我正在尝试迭代数字变量中的数组,如果一个数字可以除以3,我将记录"fizz",如果它可以除以5,我将日志记录"buzz",并且如果一个数值可以除以3+5或15,我将记录"fizzbuzz"
这是工作代码:
var numbers = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
for (var i = 1; i <= numbers.length; i++) {
if (i % 15 === 0) {
console.log("FizzBuzz");
} else if (i % 5 === 0) {
console.log("Buzz");
} else if (i % 3 === 0) {
console.log("Fizz");
} else {
console.log(i);
}
};
这是我的原始代码,它不记录"fizzbuzz"
var numbers = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
for (var i = 1; i <= numbers.length; i++) {
if (i % 5 === 0) {
console.log("Buzz");
} else if (i % 3 === 0) {
console.log("Fizz");
} else if (i % 15 === 0) {
console.log("FizzBuzz");
} else {
console.log(i);
}
};
为什么(i%15===0)条件需要在其他两个条件之前?这不是很重要吗?
数字15可被3和5整除。如果你不先测试它,那么你永远不会达到目的。
让我们以30为例。如果你先检查15,你会发现它可以被15整除。然而,如果你先检查5或3,它将被标记为可被其中任何一个整除。
在其中一个条件计算为true后,您可以突破if块,不计算以下else-if/else语句。如果你想让其他人进行评估,你可以使用the-If语句,而不是else-If语句。
这是因为当您使用ELSE IF时,计算机首先检查第一个语句,然后检查其他语句,这意味着在第一个语句为false之后检查该语句。将IF用于所有。
相关文章:
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JS可以在Chrome中工作,但不能在Firefox中工作
- javascript扫雷器floodfill算法不能正常工作
- JavaScript指令不能像我想象的那样工作
- Facebook登录按钮没有'不能在Firefox上工作
- jQuery Datepicker可以在Safari中工作,但不能在FF或Chrome中工作
- javascript没有´我不能在joomla 3.0中工作
- 用javascript将script元素附加到头部;铬不能工作
- jQuery函数不能只在一个页面上工作
- 为什么这个代码不能正常工作
- 为什么jquery悬停在jsfiddle中可以工作,而在我的html布局中却不能
- 为什么我的JavaScript在Safari上的严格模式下不能正常工作
- 为什么Turbolinks不能正常工作?Rails应用程序
- jQuery dosn'内联函数不能按预期工作
- 为什么这个javascript工作不能正确地分配.cells[] ?
- 谷歌应用引擎云端点:OAuth2不工作.不能加载api
- 输入焦点不工作/不能选择单选按钮-引导
- LocalStorage不能在iPhone上工作-不能在私人浏览
- 工作不能代替生活