Maison >interface Web >js tutoriel >Comment filtrer un tableau d'objets en fonction des identifiants d'un autre tableau ?

Comment filtrer un tableau d'objets en fonction des identifiants d'un autre tableau ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-10 20:04:11708parcourir

How to Filter an Array of Objects Based on IDs from Another Array?

Cibler des objets spécifiques dans un tableau

Filtrer un tableau d'objets basé sur un tableau différent peut être utile dans divers scénarios. Considérons un scénario dans lequel nous avons un tableau d'objets personnes et un tableau supplémentaire contenant des identifiants spécifiques (par exemple, des identifiants).

Étant donné un tableau de personnes :

const people = [
  { id: "1", name: "abc", gender: "m", age: "15" },
  { id: "2", name: "a", gender: "m", age: "25" },
  { id: "3", name: "efg", gender: "f", age: "5" },
  { id: "4", name: "hjk", gender: "m", age: "35" },
  { id: "5", name: "ikly", gender: "m", age: "41" },
  { id: "6", name: "ert", gender: "f", age: "30" },
  { id: "7", name: "qwe", gender: "f", age: "31" },
  { id: "8", name: "bdd", gender: "m", age: "78" }
];

et un tableau de personnes souhaitées ID :

const id_filter = [1, 4, 5, 8];

Filtrer les objets à l'aide Array.filter

Pour filtrer le tableau de personnes en fonction des identifiants fournis, nous pouvons utiliser la méthode filter() du tableau. Cette méthode accepte une fonction de rappel qui reçoit chaque élément du tableau et renvoie une valeur booléenne. Pour répondre à nos besoins de filtrage, nous définissons notre fonction de rappel comme suit :

person => id_filter.includes(person.id)

Cette fonction de rappel vérifie essentiellement si l'ID de la personne actuelle est présent dans le tableau id_filter. S'il est trouvé, il renvoie vrai ; sinon, il renvoie false.

En utilisant cette fonction de rappel, nous pouvons maintenant filtrer notre tableau de personnes :

const filteredPeople = people.filter(person => id_filter.includes(person.id));

Le tableau filteredPeople résultant contiendra uniquement les objets du tableau d'origine dont les ID faire correspondre les valeurs dans id_filter.

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