根据数组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 }