是否可以使用switch语句执行此类操作?
switch(foo) {
case %bar==0:
//Do stuff
break;
}
为了更清楚,switch语句应该检查foo是否除以0是否/在每种情况下foo可以被某些东西整除。
答案 0 :(得分:1)
替代方案是任何Array迭代器,其中bar被定义为值数组。
function fooMod(foo){
var A= [];
[2, 3, 4, 5, 6, 7, 8, 9].forEach(function(itm){
if(foo%itm=== 0){
A.push(itm+' is a factor of '+foo);
}
else{
A.push(itm+' is not a factor of '+foo);
}
});
return A;
}
<强> fooMod(24)。加入( '\ n'); 强>
/* returned value: (String)
2 is a factor of 24
3 is a factor of 24
4 is a factor of 24
5 is not a factor of 24
6 is a factor of 24
7 is not a factor of 24
8 is a factor of 24
9 is not a factor of 24
*/
答案 1 :(得分:0)
交换机将“fn(foo)
,foo+bar
,foo%bar
等一项评估的结果与各种可能的结果进行比较。您想要计算多个值[foo%bar1, foo%bar2,...]
并找到第一个等于0的值。
我没有看到通过开关实现这种情况的方法(好吧,你可以使用直通,但这将是一种迂回的方式)#/ p>