首页 >web前端 >js教程 >如何根据另一个数组和特定属性过滤 JavaScript 对象数组?

如何根据另一个数组和特定属性过滤 JavaScript 对象数组?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-09 02:02:11717浏览

How to Filter a JavaScript Object Array Based on Another Array and a Specific Attribute?

在 JavaScript 中根据另一个数组过滤对象数组

此任务需要过滤对象数组,以根据对象的特定目标对象来提取特定的目标对象身份证。给定一个对象数组(人)和一个所需 ID 数组 (id_filter),我们的目标是返回与目标 ID 匹配并具有特定属性的人的子集,在本例中为“性别:“m””。

解决方案:

过滤数组的最有效方法是使用 filter() 函数。 filter() 函数采用一个回调函数来确定数组中的对象是否将包含在过滤结果中。我们可以构造一个回调函数来检查对象的 id 属性是否存在于 id_filter 数组中。此外,我们可以添加一个基于“性别”属性进行过滤的条件。

这是实现:

const filteredPeople = people.filter(person => id_filter.includes(person.id) && person.gender === "m");

在此实现中:

  • people .filter() 创建一个新数组,仅包含通过回调函数过滤器的对象。
  • 回调函数,表示为箭头函数 (person => ...),将对象 person 作为输入并评估它是否满足定义的条件。
  • 表达式 id_filter.includes(person.id) 检查对象的 id 属性存在于 id_filter 数组中。
  • 条件 person.gender === "m" 确保只有“gender”属性设置为“m”的对象才会被过滤

生成的filteredPeople 数组包含原始people 数组中具有指定ID 和匹配性别的对象。

以上是如何根据另一个数组和特定属性过滤 JavaScript 对象数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn