new map替代if else

之前多条件判断时用的都是if else或者是switch case

let name=""
  	 if(){
		name="1"
     	 }else if(){
			name="2"
      	}else if(){
        		name="2"
    	  }
    	

这里推荐一种优雅写法
可使用new Map语法:
赋值字段

	key="edit"
	//单数据
	 const actionsList = new Map([
        ["xy", "el-icon-location-outline"],
        ["bookmark", "el-icon-discount"],
        ["bounds", "el-icon-full-screen"],
        ["marker", "gisicon icon-biaoji"],
        ["secondMap", "icon-duibi gisicon"],
        ["exportPDF", "el-icon-picture-outline"],
        ["clearAll", "el-icon-delete"],
        ["legend", "icon-tuli gisicon"],
        ["eidt", "icon-fuhao-huizhi"],
        ["default", "el-icon-more"],
      ]);
           console.log(action) //icon-fuhao-huizhi
           
      //多数据
     const actionsList = new Map([
        ["measure", ["测量", "gisicon icon-changduceliang"]],
        ["draw", ["绘图工具", "gisicon icon-fuhao-huizhi"]],
        ["layers", ["图层", "gisicon icon-tuceng-"]],
        ["buffer", ["缓冲查询", "gisicon icon-xuxian"]],
        ["othertool", ["工具", "gisicon icon-weibiaoti--"]],
        ["edit", ["编辑地图", "gisicon icon-fuhao-huizhi"]],
        ["default", ["其他工具", "el-icon-more"]],
      ]);
      let action = actionsList.get(key) || actionsList.get("default");
      console.log(action) //["编辑地图", "gisicon icon-fuhao-huizhi"]

调用对应方法

const actions = new Map([
    ['guest_1', () => { functionA }],
    ['guest_2', () => {  functionB }],
    ['guest_3', () => { functionC }],
    ['guest_4', () => { functionA }],
    ['default', () => { functionC  }],
    //...
])
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值