这种方式可以简写吗?感觉非常臃肿
if(a===1 || a===2}{}
这种问题,一般都是需要业务流程的优化吧
如果有很多条件情况的话,倒不妨用switch
switch(a){
case 1:
case 2:
dosomething1();
break;
case 3:
dosomething2();
break;
default:
doelse();
break;
}
试试这个
if(/^(1|2)$/.test(a)) {...}
if(/^[12]$/.test(a)) {...}
if([1,2].includes(a)) {...}
RegExp.test() 传入参数若是数字也没关系,跟字符串一样的运算
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答856 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
[1, 2].some(_ => _ === a)
这样?updated
昨天似乎有人踩了这个答案,虽然我也不知道原因是什么。所以多说一些吧,对于楼主列举代码的条件判定逻辑,用逻辑或操作符就已经很好了,其实换作我上面说的这种写法,其实也就是换了种写法而已,类似的还可以用位操作符、正则等方式来模拟。
真正想要干掉
if-else
的话,需要从抽象层面解决问题,比如使用策略模式,然而对于简单的业务逻辑描述真的适合用大炮打蚊子吗?