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.
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