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

118
Visualizações
reduce el método falla la prueba unitaria

Tengo el siguiente método dentro de un componente Angular:

 public mapInvoices(invoices: any[]): Record<string, any> { return invoices.reduce((map, obj) => { map[obj.letterType] = obj; return map; }, {}); }

Cuando ejecuto la prueba unitaria para este componente, aparece el siguiente problema:

 APAUInvoicesDocumentsComponent › should create TypeError: Cannot read property 'reduce' of undefined 37 | 38 | public mapInvoices(invoices: any[]): Record<string, any> { > 39 | return invoices.reduce((map, obj) => { | ^ 40 | map[obj.letterType] = obj; 41 | return map; 42 | }, {});

Podría evitar este problema asignando un valor predeterminado al parámetro como:

 public mapInvoices(invoices: any[] = [])

pero me gustaría entender por qué sucede esto.

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

0

Para responder a su pregunta, es porque se está llamando a mapInvoices con un parámetro undefined . Al establecer un valor predeterminado, en realidad está anulando el estado inicial.

 public mapInvoices(invoices?: any[] = []) {} mapInvoices(); // call bombs without a default value
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