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