Computer >> Máy Tính >  >> Lập trình >> Javascript

JavaScript ánh xạ giá trị cho các khóa (ánh xạ đối tượng đảo ngược)

Chúng tôi bắt buộc phải viết một hàm reverseObject () nhận vào một đối tượng và trả về một đối tượng ở nơi các khóa được ánh xạ tới các giá trị.

Chúng ta sẽ tiếp cận điều này bằng cách lặp qua Object.keys () và đẩy cặp giá trị khóa làm cặp khóa giá trị trong đối tượng mới.

Đây là mã để làm như vậy -

Ví dụ

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

Đầu ra

Đầu ra của đoạn mã trên trong bảng điều khiển sẽ là -

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