Reverse mapping an object in JavaScript


Suppose, we have an object like this −

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

All the keys are unique in themselves and all the values are unique in themselves.

We are required to write a function that accepts a value and returns its key. Let' say we have created a function findKey().

For example, findKey(110) should return "Apple".

We will approach this problem by first reverse mapping the values to keys and then simply using object notations to find their values.

Therefore, let’s write the code for this function −

Example

The code for this will be −

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));

Output

The output in the console will be −

Apple

Updated on: 20-Oct-2020

654 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements