Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

JavaScript map ค่าเป็น key (Reverse Object Mapping)

เราต้องเขียนฟังก์ชัน reverseObject() รับอ็อบเจกต์ คืนอ็อบเจกต์ที่ key ถูกแมปเป็น value

เราจะวนลูป Object.keys() และ push key-value pair เป็น value-key pair ในอ็อบเจกต์ใหม่

ตัวอย่าง

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' ]
}