已知字典对应关系如下表:

现在有这么一个情况:接口返回给前端的是字典值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 语句,并且可以方便地对映射进行修改或扩展。

10-04 15:46