สมมติเรามี JSON Object แบบนี้:
const obj = {
"LAPTOP": [{
"productId": "123"
}],
"DESKTOP": [{
"productId": "456"
}],
"MOUSE": [{
"productId": "789"
}, {
"productId": "012"
}],
"KEY-BOARD": [{
"productId": "345"
}]
};
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับออบเจกต์แบบนี้เป็นอาร์กิวเมนต์แรก และคู่ key-value เป็นอาร์กิวเมนต์ที่สอง
คู่ key-value คือออบเจกต์แบบนี้:
const pair = {"productId": 456};
ฟังก์ชันควรค้นหาในออบเจกต์หา key ที่มี 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