美文网首页PHPPHP经验分享
代码优化和效率提升的方法(二)使用数组取值代替判断条件

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

作者: 公式般欢笑 | 来源:发表于2020-03-01 16:31 被阅读0次

    在代码编写的工程中,难免会遇到多重判断语句。
    关于优化的技巧,网上的文章虽然众说纷纭,但归根结底是讨论使用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;
      }
    

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

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

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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/tiuckhtx.html