发布网友
共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', '');
以上仅为个人经验分享,希望对大家有所帮助,也期待更多交流和支持。