多个if 的优化 (面试题小技巧)

 this.roleList.forEach(item=>{
          item.createTime =  formattedDateTime(item.createTime)
          if(item.flowStatus === 0) {
            item.flowStatus = '草稿'
          }
          if(item.flowStatus === 1) {
            item.flowStatus = '在途'
          }
          if(item.flowStatus === 2) {
            item.flowStatus = '审批通过'
          }
          if(item.flowStatus === 3) {
            item.flowStatus = '审批不通过'
          }
          if(item.flowStatus === 4) {
            item.flowStatus = '驳回'
          }
          if(item.type === 0) {
            item.flowStatus = '文件'
          }
          if(item.flowStatus === 1) {
            item.flowStatus = '文件夹'
          }
          if(item.source === 0) {
            item.flowStatus = '系统生成'
          }
          if(item.flowStatus === 1) {
            item.flowStatus = '人工上传'
          }
        })  
优化代码如下
const flowStatusMap = {
  0: '草稿',
  1: '在途',
  2: '审批通过',
  3: '审批不通过',
  4: '驳回'
};

const typeMap = {
  0: '文件',
  1: '文件夹'
};

const sourceMap = {
  0: '系统生成',
  1: '人工上传'
};

this.roleList.forEach(item => {
  item.createTime = formattedDateTime(item.createTime);
  item.flowStatus = flowStatusMap[item.flowStatus] || item.flowStatus;
  item.type = typeMap[item.type] || item.type;
  item.source = sourceMap[item.source] || item.source;
});

猜你喜欢

转载自blog.csdn.net/qq_44716001/article/details/131704164