สมมติว่าเรามีวัตถุเช่นนี้ −
const obj = {"100":"Jaipur","101":"Delhi","102":"Raipur","104":"Goa"}; เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับหนึ่งในวัตถุเช่นอาร์กิวเมนต์แรกและคำค้นหาเป็นอาร์กิวเมนต์ที่สอง จากนั้นฟังก์ชันของเราควรส่งคืนคู่คีย์/ค่าเหล่านั้นทั้งหมดที่มีค่ารวมคำค้นหาที่กำหนดให้ฟังก์ชันเป็นอาร์กิวเมนต์ที่สอง
เราจะวนซ้ำผ่านวัตถุ สร้างวัตถุผลลัพธ์ (หากตรงกับเงื่อนไข) ขณะที่เราเคลื่อนผ่านและส่งคืนวัตถุนั้นในที่สุด
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const obj = {
"100":"Jaipur",
"101":"Delhi",
"102":"Raipur",
"104":"Goa"
};
const findByQuery = (obj, query) => {
const keys = Object.keys(obj);
const res = {};
keys.forEach(key => {
// case insensitive search
if(obj[key].toLowerCase().includes(query.toLowerCase())){
res[key] = obj[key]
};
});
return res;
};
console.log(findByQuery(obj, 'Pur')); ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
{ '100': 'Jaipur', '102': 'Raipur' }