在 JavaScript 中使用一个数组帮助过滤另一个数组

javascriptweb developmentfront end technologyobject oriented programming更新于 2026/2/9 2:20:17

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

对象:

const main = [
   {name: "Karan", age: 34},
   {name: "Aayush", age: 24},
   {name: "Ameesh", age: 23},
   {name: "Joy", age: 33},
   {name: "Siddarth", age: 43},
   {name: "Nakul", age: 31},
   {name: "Anmol", age: 21},
];

数组:

const names = ["Karan", "Joy", "Siddarth", "Ameesh"];

我们需要编写一个 JavaScript 函数,该函数接受两个这样的数组,并过滤​​第一个数组,使其仅包含第二个数组中包含 name 属性的对象。

因此,让我们编写该函数的代码 −

示例

其代码为 −

const main = [
   {name: "Karan", age: 34},
   {name: "Aayush", age: 24},
   {name: "Ameesh", age: 23},
   {name: "Joy", age: 33},
   {name: "Siddarth", age: 43},
   {name: "Nakul", age: 31},
   {name: "Anmol", age: 21},
];
const names = ["Karan", "Joy", "Siddarth", "Ameesh"];
const filterUnwanted = (main, names) => {
   for(let i = 0; i < main.length; ){
      if(names.includes(main[i].name)){
         i++;
         continue;
      };
      main.splice(i, 1);
   };
};
filterUnwanted(main, names);
console.log(main);

输出

控制台中的输出将是 −

[
   { name: 'Karan', age: 34 },
   { name: 'Ameesh', age: 23 },
   { name: 'Joy', age: 33 },
   { name: 'Siddarth', age: 43 }
]

相关文章


有用资源