如何仅用2条if语句实现覆盖3种场景的FooBar转换需求
可以实现,以下是具体实现方案
你可以通过字符串拼接的逻辑只用2条if语句完成完全相同的功能,代码如下:
const intToStr = (intVal) => { let result = '' if (intVal % 4 === 0) { result += 'Foo' } if (intVal % 7 === 0) { result += 'Bar' } return result }
逻辑说明
- 当数字同时是4和7的倍数时,两个if都会命中,字符串拼接后自然得到
FooBar,不需要单独写联合判断逻辑 - 当数字仅满足其中一个条件时,只会命中对应的if,返回对应字符串,和原逻辑输出完全一致
- 这种写法扩展性更好,如果后续要新增其他倍数的返回规则,只需要新增对应if即可,不需要修改已有判断
内容的提问来源于stack exchange,提问作者ashen madusanka
相关产品推荐
相关产品推荐

