Maison >interface Web >js tutoriel >Comment filtrer un tableau d'objets JavaScript en fonction d'un autre tableau et d'un attribut spécifique ?

Comment filtrer un tableau d'objets JavaScript en fonction d'un autre tableau et d'un attribut spécifique ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-09 02:02:11712parcourir

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

Filtrer un tableau d'objets basé sur un autre tableau en JavaScript

Cette tâche nécessite de filtrer un tableau d'objets pour extraire des objets cibles spécifiques en fonction de leur Pièces d'identité. Étant donné un tableau d'objets (personnes) et un tableau d'identifiants souhaités (id_filter), notre objectif est de renvoyer un sous-ensemble de personnes qui correspond aux identifiants cibles et qui possède un attribut spécifique, dans ce cas « sexe : « m » ».

Solution :

L'approche la plus efficace pour filtrer le tableau consiste à utiliser la fonction filter(). La fonction filter() prend une fonction de rappel qui détermine si un objet du tableau sera inclus dans le résultat filtré. Nous pouvons construire une fonction de rappel qui vérifie si la propriété id de l'objet est présente dans le tableau id_filter. De plus, nous pouvons ajouter une condition pour filtrer en fonction de l'attribut « genre ».

Voici l'implémentation :

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

Dans cette implémentation :

  • personnes .filter() crée un nouveau tableau contenant uniquement les objets qui passent le filtre de la fonction de rappel.
  • La fonction de rappel, représentée par la fonction flèche (person => ...), prend un objet personne en entrée et évalue s'il répond aux critères définis.
  • L'expression id_filter.includes(person.id) vérifie si la propriété id de l'objet existe dans le Tableau id_filter.
  • La condition person.gender === "m" garantit que seuls les objets dont l'attribut "gender" est défini sur "m" sont inclus.

Le tableau filteredPeople résultant contient les objets du tableau people d'origine qui ont les identifiants spécifiés et le sexe correspondant.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn