สมมติว่าเรามีวัตถุเช่นนี้ −
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