Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

กรองคุณสมบัติของออบเจกต์ตามอาร์เรย์ และได้ออบเจกต์ที่กรองแล้วใน JavaScript


เราต้องเขียนฟังก์ชันที่รับออบเจกต์และอาร์เรย์สตริง และคืนค่าออบเจกต์ที่กรองแล้วพร้อมคีย์ที่ปรากฏในอาร์เรย์สตริง

ตัวอย่าง − ถ้าออบเจกต์คือ {"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' }