优化多个if...else

本文介绍了一种将冗长的if...else结构优化的方法,通过使用对象映射的方式减少代码重复并提高可读性和可维护性。

做项目时经常会写多个if…else,此时如果领导让我们优化,该怎么优化呢

假如优化以下代码:

function speak(name) {
      if (name == "小狗") {
        console.log("小狗汪汪叫");
      } else if (name == "小猫") {
        console.log("小猫喵喵叫");
      } else if (name == "鸭子") {
        console.log("鸭子嘎嘎叫");
      } else {
        console.log("不要叫");
      }
    }
    // 优化以上代码

    speak("小狗")

下面是同事提供的一种思路

   function speak(name) {
      const mapName = {
        "小狗": () => console.log("小狗汪汪叫"),
        "小猫": () => console.log("小猫喵喵叫"),
        "鸭子": () => console.log("鸭子嘎嘎叫"),
      }
      if (mapName[name]) mapName[name]();
        else console.log("不要叫");
    }
      speak('小狗') // 小狗汪汪叫
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值