JavaScript将值映射到键(反向对象映射)

我们需要编写一个函数reverseObject(),该函数接受一个对象并返回一个将键映射到值的对象。

我们将通过遍历Object.keys()并将键值对作为新对象中的值键对来实现此目的。

这是这样做的代码-

示例

const cities = {
   'Jodhpur': 'Rajasthan','Alwar': 'Rajasthan','Mumbai': 'Maharasthra','Ahemdabad':    'Gujrat','Pune': 'Maharasthra'
};
const reverseObject = (obj) => {
   const newObj = {};
   Object.keys(obj).forEach(key => {
      if(newObj[obj[key]]){
         newObj[obj[key]].push(key);
      }else{
         newObj[obj[key]] = [key];
      }
   });
   return newObj;
};
console.log(reverseObject(cities));

输出结果

上面的代码在控制台中的输出将是-

{
   Rajasthan: [ 'Jodhpur', 'Alwar' ],
   Maharasthra: [ 'Mumbai', 'Pune' ],
   Gujrat: [ 'Ahemdabad' ]
}