เราต้องเขียนฟังก์ชันที่รับในอ็อบเจกต์และอาร์เรย์ตัวอักษรสตริง และส่งคืนอ็อบเจ็กต์ที่กรองด้วยคีย์ที่ปรากฏในอาร์เรย์ของสตริง
ตัวอย่างเช่น − หากวัตถุคือ {"a":[], "b":[], "c":[], "d":[]} และอาร์เรย์คือ ["a", "d"] ดังนั้น ผลลัพธ์ควรเป็น −
{“a”: [], “d”:[]}
ดังนั้น เรามาเขียนโค้ดสำหรับฟังก์ชันนี้กัน
เราจะย้ำคีย์ของออบเจกต์ไม่ว่าจะมีอยู่ในอาร์เรย์หรือไม่ ถ้ามี หากดันคู่ค่าคีย์นั้นเข้าไปในอ็อบเจกต์ใหม่ มิฉะนั้น เราจะวนซ้ำและส่งคืนอ็อบเจ็กต์ใหม่ในตอนท้าย
ตัวอย่าง
const capitals = { "usa": "Washington DC", "uk": "London", "india": "New Delhi", "italy": "rome", "japan": "tokyo", "germany": "berlin", "china": "shanghai", "spain": "madrid", "france": "paris", "portugal": "lisbon" }; const countries = ["uk", "india", "germany", "china", "france"]; const filterObject = (obj, arr) => { const newObj = {}; for(key in obj){ if(arr.includes(key)){ newObj[key] = obj[key]; }; }; return newObj; }; console.log(filterObject(capitals, countries));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
{ uk: 'London', india: 'New Delhi', germany: 'berlin', china: 'shanghai', france: 'paris' }