根据 JavaScript 数组过滤对象

javascriptweb developmentobject oriented programming更新于 2025/10/12 22:36:17

假设我们有一个数组和一个像这样的对象 −

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 }

相关文章


有用资源