Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ย้อนกลับการแมปวัตถุใน JavaScript


สมมติว่าเรามีวัตถุเช่นนี้ −

const products = {
   "Pineapple":38,
   "Apple":110,
   "Pear":109
};

คีย์ทั้งหมดมีเอกลักษณ์ในตัวเอง และค่าทั้งหมดก็ไม่ซ้ำกันในตัวเอง

เราจำเป็นต้องเขียนฟังก์ชันที่ยอมรับค่าและคืนค่าคีย์ของมัน สมมติว่าเราได้สร้างฟังก์ชัน findKey() แล้ว

ตัวอย่างเช่น findKey(110) ควรส่งคืน "Apple"

เราจะแก้ไขปัญหานี้โดยย้อนกลับการจับคู่ค่ากับคีย์ก่อน จากนั้นจึงใช้สัญลักษณ์วัตถุเพื่อค้นหาค่าของพวกมัน

ดังนั้น เรามาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

const products = {
   "Pineapple":38,
   "Apple":110,
   "Pear":109
};
const findKey = (obj, val) => {
   const res = {};
   Object.keys(obj).map(key => {
      res[obj[key]] = key;
   });
   // if the value is not present in the object
   // return false
   return res[val] || false;
};
console.log(findKey(products, 110));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็น -

Apple