基於陣列的 JavaScript 物件過濾
假設我們有一個數組和一個如下所示的物件 -
const arr = ['a', 'd', 'f']; const obj = { "a": 5, "b": 8, "c": 4, "d": 1, "e": 9, "f": 2, "g": 7 };
我們需要編寫一個函式,它接受物件和陣列作為輸入,過濾掉所有不在陣列中的物件屬性。因此,輸出應僅包含 3 個屬性,即:“a”、“d”和“e”。
讓我們編寫此函式的程式碼 -
示例
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 }
廣告