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
Libérer: 2024-12-10 20:04:11
original
727 Les gens l'ont consulté

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" }
];
Copier après la connexion

et un tableau de personnes souhaitées ID :

const id_filter = [1, 4, 5, 8];
Copier après la connexion

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)
Copier après la connexion

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));
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal