键值映射
需求:将0、1、2、3转换为对应的显示值。
0 - 未提交
1 - 已提交
2 - 审批中
3 - 已审批
方案一
传递进来的0、1、2、3
要转换为显示值,可将键值对定义为json对象
的属性。将参数作为json对象的key
,从json对象中取出值返回( json对象['属性名']
,返回对应属性值 )。
let getData = function(text) {
return ({
1: "已提交",
0: "未提交",
2: "审批中",
3: "已审批"
} [text])
}
console.log(getData(0))//未提交
方案二
使用map数据结构,将函数getData()
写成一个通用方法,将键值对数据与要转换的0、1、2、3
作为参数。
传递进来的0、1、2、3
要转换为显示值,可将键值对定义在map
中。将参数作为key
,从map
中取出值返回。
let mydata = [
[0, '已提交'],
[2, '审批中'],
[3, '已审批'],
[1, '未提交'],
];
const getData = function(data, i){
return new Map(data).get(i);
}
console.log(getData(mydata, 3))//已审批