在 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;
   });
   // if the value is not present in the object
   // return false
   return res[val] || false;
};
console.log(findKey(products, 110));

输出

控制台中的输出为 −

Apple

更新时间: 20-Oct-2020

910 次浏览

开启你的 职业

通过完成课程获得认证

开始
广告