"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment filtrer les tableaux imbriqués dans des objets en fonction d'une valeur spécifique?

Comment filtrer les tableaux imbriqués dans des objets en fonction d'une valeur spécifique?

Publié le 2025-02-16
Parcourir:726

How to Filter Nested Arrays in Objects Based on a Specific Value?

Filtrage le tableau d'objets avec des tableaux basés sur une valeur imbriquée

Vous essayez de filtrer un tableau d'objets basés sur une valeur imbriquée au sein de ceux objets. L'objectif est de créer un nouveau tableau qui ne comprend que les objets avec une valeur spécifique pour une propriété imbriquée.

pour y parvenir, vous avez utilisé la formule suivante:

let filteredArray = arrayOfElements.filter((element) => element.subElements.some((subElement) => subElement.surname === 1));

Cette formule filtre les objets du tableau d'origine qui ont au moins un sous -element avec une propriété de nom de famille égale à 1. Cependant, la sortie n'est pas tout à fait ce que vous attendez. Au lieu de supprimer les sous-éléments qui ne correspondent pas à la condition de filtre, il renvoie des objets avec tous les sous-éléments, y compris ceux qui ne correspondent pas. au lieu d'une fonction filtrante. Cela vous permettra de créer un nouveau tableau en transformant chaque élément dans le tableau d'origine. L'élément transformé n'inclura que les sous-éléments qui correspondent à la condition de filtre.

Voici une formule améliorée à l'aide de la fonction de mappage:

LET FilterArray = ArrayOfElements.map ((élément) => {{ return {... élément, sous-éléments: element.subelements.filter ((sublement) => subelement.surname === 1)} })

let filteredArray = arrayOfElements.map((element) => {
  return {...element, subElements: element.subElements.filter((subElement) => subElement.surname === 1)}
})

La fonction MAP ittera sur chaque élément dans le tableau d'arrayofelements.
  • Pour chaque élément, il crée un nouvel objet qui Comprend les propriétés de l'élément d'origine et un tableau sous-éléments filtrés.
  • La fonction de filtre est appliquée au tableau des sous-éléments pour supprimer tous les sous-éléments qui ne correspondent pas à la condition de filtre, qui est sous-élément.surname === 1 en Ce cas.
  • L'opérateur de diffusion (...) est utilisé pour créer un nouvel objet qui combine les propriétés de l'élément d'origine avec le tableau des sous-éléments filtrés.
  • Cette formule améliorée reviendra retournera Un tableau qui ne comprend que les objets qui ont au moins un sous-élément avec une propriété de nom de famille égale à 1, et chaque objet n'aura que les sous-éléments correspondants inclus.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3