สมมติว่าเรามีอาร์เรย์และอ็อบเจกต์ดังนี้:
const arr = ['a', 'd', 'f'];
const obj = {
"a": 5,
"b": 8,
"c": 4,
"d": 1,
"e": 9,
"f": 2,
"g": 7
};
เราต้องเขียนฟังก์ชันที่รับอ็อบเจกต์และอาร์เรย์ และกรอง property ของอ็อบเจกต์ที่ไม่ใช่สมาชิกของอาร์เรย์ออกไป ดังนั้นเอาต์พุทควรมีแค่ 3 property คือ "a", "d" และ "f"
มาเขียนโค้ดสำหรับฟังก์ชันนี้กัน:
ตัวอย่างโค้ด
const arr = ['a', 'd', 'f'];
const obj = {
"a": 5,
"b": 8,
"c": 4,
"d": 1,
"e": 9,
"f": 2,
"g": 7
};
const filterObject = (obj, arr) => {
Object.keys(obj).forEach((key) => {
if (!arr.includes(key)) {
delete obj[key];
}
});
};
filterObject(obj, arr);
console.log(obj);
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็นดังนี้:
{ a: 5, d: 1, f: 2 }