基于数组的 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 }
广告