已知字典对应关系如下表:
字典值 | 文字描述 |
---|---|
1 | 餐饮饭店 |
2 | 民宿宾馆 |
3 | 批发零售 |
4 | 医疗卫生 |
5 | 养老服务 |
现在有这么一个情况:接口返回给前端的是字典值12345
,而我们想展示对应的文字描述。
比较笨的方法是采用 if-else
语句判断
if(this.itemList.fwyt === '1'){this.itemList.fwyt = '餐饮饭店'
}else if(this.itemList.fwyt === '2'){this.itemList.fwyt = '民宿宾馆'
}else if(this.itemList.fwyt === '3'){this.itemList.fwyt = '批发零售'
}else if(this.itemList.fwyt === '4'){this.itemList.fwyt = '医疗卫生'
}else if(this.itemList.fwyt === '5'){this.itemList.fwyt = '养老服务'
}
那么有没有一种简单有效的方法的?当然是有的 👇
可以使用对象映射来优化这段代码,将房屋用途代码作为键,文字描述作为值,然后在代码中通过键查找对应的值。
例如:
const fwytMap = {'1': '餐饮饭店','2': '民宿宾馆','3': '批发零售','4': '医疗卫生','5': '养老服务',}
然后可以通过下列代码实现优化:
this.itemList.fwyt = fwytMap[this.itemList.fwyt] || this.itemList.fwyt;
这样可以避免冗长的 if-else 语句,并且可以方便地对映射进行修改或扩展。