JavaScript:Map根据值查找对应的键

Map根据值查找键,可以使用for..of迭代Map的Entry,再判断Entry的值:

键值一对一

function getByValue(map, searchValue) {
  for (let [key, value] of map.entries()) {
    if (value === searchValue)
      return key;
  }
}

let map= new Map();
map.set('1', 'red');
map.set('2', 'blue');
map.set('3', 'green');

console.log(getByValue(map, 'blue'))
console.log(getByValue(people, 'red'))

键值一对多

function getByValue(map, searchValue) {
  let keys = [];
  for (let [key, value] of map.entries()) {
    if (value === searchValue)
      keys.push(key);
  }
  return keys;
}

版权声明:著作权归作者所有。

相关推荐

Pandas对应SQL的in和not in实现

在Pandas提供了pd.isin(),使用它可以实现SQL的in和not in。not in 对应于:~a.isin(b) 示例:假如有以下dataframe数据,它包含了列data如下:>>> df   data 0   a 1   b 2 &nb

Linux使用find查找大文件

Linux可以使用find命令来查找大文件。语法find <path> [-type <file-type>] -size +<size><unit> -type:指定文件类型,它有这些值d:目录f:普通文件l:链接b: 缓存块c: 非缓存字符p:  pipes

JavaScript Array map()函数的用法及误用

Array的map()函数作用是一个数组映射为另一个数组,映射方式是以原数组的元素作为输入,使用提供的回调函数对输入元素处理,处理后返回的结果作为新数组的元素。基本语法var new_array = arr.map(function callback(currentValue, index, array) {  &nb