JS代码如何获取map的key

发布网友

我来回答

1个回答

热心网友

前端开发中,我们常使用对象来保存字典值,用于列表字段翻译或加载下拉框。有时我们需要根据字典值的value获取对应的key。网上相关文章较少,这里记录一下我的实践。

假设我们有两个类型的字典值,分别保存在paramsMap对象中:

paramsMap: { orderType: { '0': '咨询', '1': '投诉', '2': '举报', '3': '建议', '4': '求助', '5': '表扬', }, subjectType: { 'LB': '劳保', 'XW': '消委', 'GA': '', 'GT': '国土', 'CG': '', 'GJJ': '公积金', 'ZH': '综合', },}

根据key获取value的函数如下:

getParamValue(paramType, code) { if (!Object.prototype.hasOwnProperty.call(this.paramsMap, paramType)) { return '参数类型错误'; } return this.paramsMap[paramType][code];}

调用时指定参数类型:this.getParamValue('orderType', '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', '');

以上仅为个人经验分享,希望对大家有所帮助,也期待更多交流和支持。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com