如何简化JavaScript中包含多个等值逻辑或判断的代码?
完全可以,这也是前端开发中简化多条件或判断的常用方案。
你原本的写法不仅冗余,还存在笔误("beautiful 缺少闭合引号),优化后的写法如下:
// 先将所有需要匹配的取值存入数组 const validValues = ['good', 'beautiful', 'pretty', 'excellent', 'superb', 'spectacular'] // 简化后的条件判断 if (validValues.includes(a)) { // 此处写原判断满足后的业务逻辑 }
补充注意点:
- 如果你需要兼容不支持
Array.includes()的旧版IE环境,可以用indexOf方法替代,判断逻辑写为validValues.indexOf(a) !== -1,效果完全一致 includes默认使用严格相等(===)做匹配,如果你原本的==宽松相等逻辑有特殊兼容需求,可以改用some方法自定义判断规则,示例:if (validValues.some(item => item == a)) { // 业务逻辑 }- 后续如果需要新增、删除匹配值,直接修改数组即可,不需要改动条件判断语句,可维护性更高
内容的提问来源于stack exchange,提问作者Assorted
相关产品推荐
相关产品推荐

