"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como filtrar matrizes aninhadas em objetos com base em um valor específico?

Como filtrar matrizes aninhadas em objetos com base em um valor específico?

Postado em 2025-02-16
Navegar:394

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

Filtrando matriz de objetos com matrizes com base no valor aninhado

você está tentando filtrar uma matriz de objetos baseados em um valor aninhado dentro daqueles objetos. O objetivo é criar uma nova matriz que inclua apenas os objetos com um valor específico para uma propriedade aninhada. filtro ((elemento) => element.subelements.some ((subelement) => subelement.surname === 1));

Esta fórmula filtra os objetos da matriz original que possuem pelo menos um sub submarino -Element com uma propriedade de sobrenome igual a 1. No entanto, a saída não é exatamente o que você esperava. Em vez de remover os subelementos que não correspondem à condição do filtro, ele retorna objetos com todos os subelementos, incluindo aqueles que não correspondem.

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

Nesta fórmula aprimorada:

A função do mapa itera sobre cada elemento no ArrayoFelements Array.

para cada elemento, ele cria um novo objeto que Inclui as propriedades do elemento original e uma matriz de subelementos filtrados. Este caso. Uma matriz que inclui apenas os objetos que possuem pelo menos um subelemento com uma propriedade de sobrenome igual a 1, e cada objeto terá apenas os subelementos correspondentes incluídos.
            
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3