在JavaScript中反向映射对象

假设我们有一个像这样的对象-

const products = {
   "Pineapple":38,
   "Apple":110,
   "Pear":109
};

所有键本身都是唯一的,所有值本身都是唯一的。

我们需要编写一个接受值并返回其键的函数。假设我们已经创建了一个函数findKey()

例如,findKey(110)应该返回“ Apple”。

我们将通过首先将值反向映射到键,然后简单地使用对象符号来查找其值来解决此问题。

因此,让我们为该函数编写代码-

示例

为此的代码将是-

const products = {
   "Pineapple":38,
   "Apple":110,
   "Pear":109
};
const findKey = (obj, val) => {
   const res = {};
   Object.keys(obj).map(key => {
      res[obj[key]] = key;
   });
   //如果对象中不存在该值
   //返回false-
   return res[val] || false;
};
console.log(findKey(products, 110));

输出结果

控制台中的输出将为-

Apple