สมมติว่าเรามีวัตถุ JSON แบบนี้ -
const obj = { "LAPTOP": [{ "productId": "123" }], "DESKTOP": [{ "productId": "456" }], "MOUSE": [{ "productId": "789" }, { "productId": "012" }], "KEY-BOARD": [{ "productId": "345" }] };
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับวัตถุเช่นอาร์กิวเมนต์แรก และคู่ค่าคีย์เป็นอาร์กิวเมนต์ที่สอง
โดยพื้นฐานแล้วคู่ของค่าคีย์นั้นไม่มีอะไรเลยนอกจากวัตถุเช่นนี้ −
const pair = {"productId": 456};
ฟังก์ชันควรค้นหาวัตถุสำหรับคีย์ด้วย "productId" ที่ระบุและส่งคืน
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const obj = { "LAPTOP": [{ "productId": "123" }], "DESKTOP": [{ "productId": "456" }], "MOUSE": [{ "productId": "789" }, { "productId": "012" }], "KEY-BOARD": [{ "productId": "345" }] }; const searchByPair = (obj = {}, pair = {}) => { const toSearch = Object.values(pair)[0]; let required = undefined; Object.keys(obj).forEach((key) => { if(obj[key].find((pid) => pid.productId === toSearch)){ required = key; } }); return required; }; console.log(searchByPair(obj, { 'productId': '123' }));
ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
LAPTOP