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

177
Visualizações
No puedo empujar a la matriz UnionType

Estoy jugando con UnionTypes en TS y pensé que podría crear un escenario válido donde podrían usarse, pero no entiendo por qué esto está fallando con el error de:

Argumento de tipo '{ nombre: cadena; }' no se puede asignar a un parámetro de tipo 'cadena & { nombre: cadena; }'

Conozco formas de "forzar" este enfoque particular, pero quiero entender por qué esto no funciona.

 let newArray: string[] | { name: string }[] = new Array(); //just a boolean to know when is one type or the other if (isMultiple) { otherArray.forEach((item: { name: string }) => { newArray.push(item) }) } else { otherArray.forEach((item: { name: string }) => { newArray.push(item.name) }); } return newArray
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

A menos que desee permitir matrices mixtas ( let newArray: (string | { name: string })[] ), puede usar

 // just a boolean to know when is one type or the other if (isMultiple) { const newArray: { name: string }[] = []; otherArray.forEach((item: { name: string }) => { newArray.push(item) }); return newArray; } else { const newArray: string[] = []; otherArray.forEach((item: { name: string }) => { newArray.push(item.name) }); return newArray; }
about 4 years ago · Juan Pablo Isaza Relatório

0

No puede tener ambos tipos de arreglos al mismo tiempo. Puede hacer esto y definirlo y luego crearlo por separado en la declaración if

 let newArray: string[] | { name: string }[]; //just a boolean to know when is one type or the other if (isMultiple) { newArray = new Array< { name : string }>(); otherArray.forEach((item: { name: string }) => { newArray.push(item) }) } else { newArray = new Array<string>(); otherArrayforEach((item: { name: string }) => { newArray.push(item.name) }); } return newArray
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