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

158
Visualizações
Combinar objeto anidado con matriz de objetos con deepmerge

Estoy usando la biblioteca https://www.npmjs.com/package/deepmerge para fusionar en profundidad dos objetos anidados con una matriz de objetos, pero no obtengo el resultado esperado.

 const x = { foo: { bar: 1 }, loo: { array: [ { too: [{ bar: 1 }, { bar: 2 }, { bar: 3 }, { bar: 4 }, { bar: 5 }], }, ], }, }; const y = { foo: { bar: 4 }, loo: { array: [ { too: [{ bar: 1 }, { bar: 2 }, { bar: 3 }, { bar: 4 }, { bar: 5 }], }, ], }, };

y console.log(deepmerge(x, y)); me da este resultado:

 const result = { foo: { bar: 4 }, loo: { array: [ { too: [{ bar: 1 }, { bar: 2 }, { bar: 3 }, { bar: 4 }, { bar: 5 }], }, { too: [{ bar: 1 }, { bar: 2 }, { bar: 3 }, { bar: 4 }, { bar: 5 }], }, ], }, };

pero esperaría esto:

 const expectedResult = { foo: { bar: 4 }, loo: { array: [ { too: [{ bar: 1 }, { bar: 2 }, { bar: 3 }, { bar: 4 }, { bar: 5 }], }, ], }, };

¿Me estoy perdiendo de algo?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

En esta sección del documento , menciona que

De forma predeterminada, las matrices se fusionan concatenándolas.

Por lo tanto, debe proporcionar otra opción para anular este comportamiento predeterminado, esto se menciona a continuación, utilizando la opción arrayMerge

 const x = { foo: { bar: 1 }, loo: { array: [{ too: [{ bar: 1 }, { bar: 2 }, { bar: 3 }, { bar: 4 }, { bar: 5 }], }, ], }, }; const y = { foo: { bar: 4 }, loo: { array: [{ too: [{ bar: 1 }, { bar: 2 }, { bar: 3 }, { bar: 4 }, { bar: 5 }], }, ], }, }; console.log( deepmerge( x, y, { arrayMerge: (destinationArray, sourceArray, options) => sourceArray } ) );
 <script src="https://unpkg.com/deepmerge@4.2.2/dist/umd.js"></script>

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