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

กำลังดึงคีย์ JavaScript ตามค่า - JavaScript


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

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

คีย์ทั้งหมดมีเอกลักษณ์เฉพาะในตัวเอง และค่าทั้งหมดมีเอกลักษณ์เฉพาะในตัวเอง เราจำเป็นต้องเขียนฟังก์ชันที่ยอมรับค่าและคืนค่าคีย์ของมัน

ตัวอย่างเช่น 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