Maison >interface Web >js tutoriel >Comment filtrer un tableau d'objets en fonction des identifiants d'un autre tableau ?
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!