js map根据value获取key

前言

前端通过对象保存字典值用于列表字段翻译或者加载下拉框都是很常见的操作,有时也会需要根据字典值的value获取对应的key,搜了下相关的文章比较少,在此记录下。

测试数据

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

假设页面用到两个类型的字典值,我们使用paramsMap对象保存。(正常使用可以调用接口加载)

根据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', '公安');

在这里插入图片描述

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在JavaScript中,可以使用Map对象来根据key获取valueMap对象是一种新的数据结构,它允许你将任何类型的值(包括对象)作为键或值存储。使用Map对象的get()方法可以根据key获取value,例如: ``` const myMap = new Map(); myMap.set('key1', 'value1'); myMap.set('key2', 'value2'); const value1 = myMap.get('key1'); // 获取key1对应的value const value2 = myMap.get('key2'); // 获取key2对应的value ``` 在上面的例子中,我们创建了一个Map对象,并使用set()方法将两个键值对存储在Map对象中。然后,我们使用get()方法根据key获取对应的value。 ### 回答2: 在JavaScript中,map数据结构是一种能够将键与值相对应的数据类型。在使用map时,我们可以根据key获取相应的value值。具体的操作方法为: 1. 首先创建一个map对象。可以使用new关键字来实例化一个map对象,也可以使用{}符号来创建一个空map。 2. 通过set()方法来向map添加键值对。set()方法接收两个参数,第一个参数为key,第二个参数为value。 3. 使用get()方法来通过key获取对应的value值。get()方法只接收一个参数,即需要查询的key值。 举个例子,我们可以这样创建一个map对象: ``` let myMap = new Map(); ``` 然后向map中添加一些键值对: ``` myMap.set('apple', 10); myMap.set('banana', 20); myMap.set('orange', 30); ``` 现在我们想要获取key为'banana'的value值,可以这样操作: ``` let value = myMap.get('banana'); console.log(value); // 输出20 ``` 如果我们想要获取一个不存在的key值,get()方法会返回undefined。因此,在使用get()方法时要注意错误处理的问题。 除了get()方法,你还可以使用has()方法来判断某个key值是否在map中存在,使用delete()方法来删除某个键值对。总之,map是JavaScript中一个非常实用的数据类型,掌握了map的常用操作方法能够更好地处理各种数据处理场景。 ### 回答3: JavaScript中,map是一种可以存储键值对的数据结构。它的用法类似于对象,但是与对象不同的是,map中的键和值可以是任何类型,而对象的键只能是字符串或符号。 要根据map中的键获取值,可以使用Map对象的get()方法。该方法接受一个键作为参数,并返回与该键关联的值。例如,下面的代码定义了一个map对象,然后使用get()方法获取键“foo”对应的值: ```javascript let map = new Map(); map.set("foo", 123); let value = map.get("foo"); console.log(value); // 输出: 123 ``` 如果map中不存在指定的键,则get()方法将返回undefined。因此,在使用get()方法之前,通常需要检查该方法的返回值是否为undefined,以避免出现错误。 JavaScript中的map对象还提供了许多其他有用的方法,如set()、has()、delete()等,可以方便地操作map中的数据。这些方法一般用于添加、查询、删除map中的键值对。 总之,JavaScript中的map可以很方便地存储和操作键值对数据。通过使用get()方法,我们可以轻松地根据键获取值,并用来实现各种应用程序的逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值