如何减少如果的数量
How to reduce the number of if
是否有办法减少代码中"if"的数量?
function test(input) {
if ((input % 3 == 0) && (input % 5 == 0)) {
return 'fizzbuzz';
} else if (input % 3 == 0) {
return 'fizz';
} else if (input % 5 == 0) {
return 'buzz';
} else {
return '' + input;
}
}
for (var i = 1; i < 100; i++) {
console.log(test(i));
}
您可以通过存储比较值来避免这种情况:
var mod3 = input % 3 == 0;
var mod5 = input % 5 == 0;
…创建查找表…
var outs = [input, "fizz", "buzz", "fizzbuzz"];
…索引它…
return outs[(+mod3) + 2 * (+mod5)];
…没有if
s!
可以使用三元操作符:
return ((input%3==0)&&(input%5==0)) ? 'fizz buzz'
: (input%3==0) ? 'fizz'
: (input%5==0) ? 'buzz'
: '' + input;
如果你不想使用If 's为什么不尝试大小写语法?
http://www.w3schools.com/js/js_switch.asp也可以使用JS的if
简写so:
var something;
if (2 + 2 === 4){
something = "Yup!"
} else {
something = "Nope"
}
是
var something = 2 + 2 === 4 ? "Yup!" : "Nope";
可以完全去掉第一个"if",因为3和5以及"fizz"answers"buzz"在后面的选项中使用。你也可以等到最后再回来。比如:
var str = "";
if (input % 3 === 0){
str +="fizz";
}
if (input % 5 === 0 ){
str +="buzz";
} else {
str = input;
}
return str;
相关文章:
- 如果 a 为 false,则 if(a) === if(false)
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如果文本字段为空,则使用JavaScript应用CSS样式
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- 如果href包含X,请更改href
- 如果localstorage为空,则显示欢迎消息
- 点击后隐藏潜水?(但如果Div是一面旗帜呢?)
- 如果元素's的ID以数字开头
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- Jquery模板,如果xx&&如果yy
- 如果值为空,如何设置输入的默认值?jQuery
- 如果选中了多个复选框,如何添加事件
- 如何检查元素的内容是否为空,如果为空,请在jquery中删除该元素
- 如果一个手风琴发出咔嗒声,如何最大限度地减少其他手风琴
- 如果我选择上一行日期不更新,并且当单击删除时,顶部总结果值没有减少,则JQuery克隆单击添加更多按钮
- 如何减少“如果语句”条件?[减少 if 语句中的条件]
- 如何减少如果的数量
- 我怎样才能得到一个按"减少"的降序排序的映射/减少结果;值";价值如果也使用列表功能可以实