Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

202
Visualizações
¿Cómo realizo una operación en un elemento secundario y devuelvo el elemento principal?

tengo una matriz como esta

 const array = [ { name: 'Parent Brand 1', childBrands: [ { name: 'Child Brand 1', status: 'active' }, { name: 'Child Brand 2', status: 'discontinued' }, ] } , { name: 'Parent Brand 2', childBrands: [ { name: 'Child Brand 1', status: 'discontinued' }, { name: 'Child Brand 2', status: 'active' }, ] } ];

¿Cómo hago para que filtre las marcas secundarias por estado y devuelva el objeto principal? Después de filtrar por estado 'activo' debería devolver algo como esto,

 const array = [ { name: 'Parent Brand 1', childBrands: [ { name: 'Child Brand 1', status: 'active' }, ] } , { name: 'Parent Brand 2', childBrands: [ { name: 'Child Brand 2', status: 'active' }, ] } ];

El uso de un flatMap y un filter solo devuelve los elementos secundarios cuando necesito el objeto principal, incluido el elemento secundario

 { "name": "Child Brand 1","status": "active" } { "name": "Child Brand 2","status": "active" }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Como no ha publicado ningún código, es difícil saber cómo usaría flatMap() en este caso. Simplemente puede map() sobre la matriz y filtrar cada propiedad de matriz anidada.

 const array = [{ name: 'Parent Brand 1', childBrands: [{ name: 'Child Brand 1', status: 'active' }, { name: 'Child Brand 2', status: 'discontinued' },] }, { name: 'Parent Brand 2', childBrands: [{ name: 'Child Brand 1', status: 'discontinued' }, { name: 'Child Brand 2', status: 'active' },] }]; const filtered = array.map(parent => ({ ...parent, childBrands: parent.childBrands.filter(child => child.status === 'active') })); console.log(filtered)

about 4 years ago · Juan Pablo Isaza Relatório

0

Utiliza Array#map en la matriz principal y Array#filter en las matrices secundarias de la siguiente manera:

 const array = [ { name: 'Parent Brand 1', childBrands: [ { name: 'Child Brand 1', status: 'active' }, { name: 'Child Brand 2', status: 'discontinued' }, ] } , { name: 'Parent Brand 2', childBrands: [ { name: 'Child Brand 1', status: 'discontinued' }, { name: 'Child Brand 2', status: 'active' }, ] } ], output = array.map( ({childBrands,...rest}) => ({ ...rest, childBrands:childBrands.filter( ({status}) => status === 'active' ) }) ); console.log( output );

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda