vue/js,如何将下面的代码简洁化?

let resultText;
if(msgData.data === 0){
    resultText = "苹果"
  }
if(msgData.data === 1){
    resultText = "香蕉"
  }
if(msgData.data === 2){
    resultText = "梨子"
  }

如上所示,小弟先谢谢各位大神的解答!

阅读 1.8k
2 个回答
const fruits=["苹果","香蕉","梨子"]

let resultText=fruits[msgData.data]

就是正常的字典思路,可以用数组去完美解决,当然也可以用对象的方式。

数组的方式就是 1 楼的那种,以及一些扩展比如说:

// 状态预设
const dict = [
    { label:'已创建', labelType:"wait" key:0 },
    { label:'申请中', labelType:"process" key:1 },
    { label:'通过审核', labelType:"success"  key:2 },
    // .....
]
// 转换
const getDictValue = function(key){
  const f = dict.find(item => item.key === key)
  return f || status[0]
}

对象的话其实也可以:

const dict = {
 "已创建": { label:'已创建', labelType:"wait", key:0 },
 "申请中": { label:'申请中', labelType:"process", key:1 },
 "通过审核": { label:'通过审核', labelType:"success",  key:2 },
 ...
}
console.log(dict['已创建'])
// {label: '申请中', labelType: 'process', key: 1}

我现在用的比较多的就是两者结合,具体可以看之前我提的一个问题以及一篇笔记

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏