Vue进阶(贰零伍):js map根据value获取key
【摘要】
文章目录
一、前言二、拓展阅读
一、前言
前端通过对象保存字典值用于列表字段翻译或者加载下拉框都是很常见的操作,有时也会需要根据字典值的value获取对应的key。
测试数据
...
一、前言
前端通过对象保存字典值用于列表字段翻译或者加载下拉框都是很常见的操作,有时也会需要根据字典值的value
获取对应的key
。
测试数据
paramsMap: {
orderType: {
'0': '咨询',
'1': '投诉',
'2': '举报',
'3': '建议',
'4': '求助',
'5': '表扬',
},
subjectType: {
'LB': '劳保',
'XW': '消委',
'GA': '公安',
'GT': '国土',
'CG': '城管',
'GJJ': '公积金',
'ZH': '综合',
},
},
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
假设页面用到两个类型的字典值,我们使用paramsMap对象保存。(正常使用可以调用接口加载)
根据key
获取value
getParamValue(paramType, code) {
if (!Object.prototype.hasOwnProperty.call(this.paramsMap, paramType)) {
return '参数类型错误';
}
return this.paramsMap[paramType][code];
},
- 1
- 2
- 3
- 4
- 5
- 6
调用时指定参数类型
this.getParamValue('orderType', '1');
- 1
根据value
获取key
getParamCode(paramType, value, compare = (a, b) => a === b) {
if (!Object.prototype.hasOwnProperty.call(this.paramsMap, paramType)) {
return '参数类型错误';
}
return Object.keys(this.paramsMap[paramType]).find(k => compare(this.paramsMap[paramType][k], value))
}
this.getParamCode('subjectType', '公安');
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
二、拓展阅读
- 《Vue进阶》
文章来源: shq5785.blog.csdn.net,作者:No Silver Bullet,版权归原作者所有,如需转载,请联系作者。
原文链接:shq5785.blog.csdn.net/article/details/121616949
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)