PHPPHP经验分享

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

2020-03-01  本文已影响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的内容存储为常量,便于更改。

上一篇下一篇

猜你喜欢

热点阅读