代码优化和效率提升的方法(二)使用数组取值代替判断条件

在代码编写的工程中,难免会遇到多重判断语句。
关于优化的技巧,网上的文章虽然众说纷纭,但归根结底是讨论使用if elseif 的方式更好,还是使用switch case的方法可读性更强。
但是如果涉及到大量的判断,无论是使用if判断还是switch判断的方式,都会产生过多的冗余代码,例如,下面的实例:

//根据类型判断用户的具体角色 6个角色对应6个不同的type
//使用if else 方式
function getUserRole(type) {
    var role;
    if (type == 0) {
      role = '超级管理员';
    } else if (type == 1) {
      role = '管理员';
    }else if(type==2){
      role='大区';
    }else if(type==3){
      role='XXX';
    }else if (type==6){
      role='ZZZ';
    }
    return role;
  }
//或者是通过switch case 的方式来完成:
function getUserRole(type) {
    var role;
    switch(type){
      case 0:role='超级管理员';break;
      case 1:role='管理员';break;
      case 2:role='一级代理';break;
      case 3:role='二级代理';break;
      case 4:role='三级代理';break;
      case 5:role='四级代理';break;
      case 6:role='五级代理';break;
      default: role='未知';break;
    }
    return role;
  }

如果类型再增多的话,使用这两种方式都不是很方便,因此,我们可以先将类型定义成数组,然后直接从数组中取值。

const roleArr=[
      '超级管理员','管理员','一级代理','二级代理','三级代理','四级代理','五级代理',''
];
function getUserRole(type) {
    
    return roleArr[type];
  }

个人认为通过这种方式可以减少代码量,并且而已将roleArr的内容存储为常量,便于更改。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容