Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

키에 대한 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' ]
}