Retrieve user id from array of object - JavaScript


Suppose, we have an array of objects where the user names are mapped to some unique ids like this −

const arr = [
   {"4": "Rahul"},
   {"7": "Vikram"},
   {"6": "Rahul"},
   {"3": "Aakash"},
   {"5": "Vikram"}
];

As apparent in the array, same names can have more than one ids but same ids can be used to map two different names.

We are required to write a JavaScript function that takes in one such array as the first argument and a name string as the second argument. The function should return an array of all ids that were used to map the name provided as second argument.

Example

Following is the code −

const arr = [
   {"4": "Rahul"},
   {"7": "Vikram"},
   {"6": "Rahul"},
   {"3": "Aakash"},
   {"5": "Vikram"}
];
const name = 'Vikram';
const findUserId = (arr, name) => {
   const res = [];
   for(let i = 0; i < arr.length; i++){
      const key = Object.keys(arr[i])[0];
      if(arr[i][key] !== name){
         continue;
      };
      res.push(key);
   };
   return res;
};
console.log(findUserId(arr, name));

Output

This will produce the following output in console −

['7', '5']

Updated on: 30-Sep-2020

627 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements