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