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

117
Visualizações
Texto mecanografiado: la propiedad 'nombre' no existe en el tipo 'Empleado []'

Soy completamente nuevo en TypeScript, y estoy perplejo por este mensaje de error: Property 'name' does not exist on type 'Employee[]' ¿Podría alguien señalar dónde no estoy aplicando el tipo de "nombre" dentro del Employee ? ¿formación? Gracias.

 interface Employee { id: number; name: string; title: string; } var employees: Employee[] = [ { id: 0, name: "Franklin", title: "Software Enginner" }, { id: 1, name: "Jamie", title: "Human Resources" }, { id: 2, name: "Henry", title: "Application Designer" }, { id: 3, name: "Lauren" title: "Software Enginner" }, { id: 4, name: "Daniel" title: "Software Enginner 2" }, ]; function fetchEmployeeName(id : number) { var employee = employees.filter( (employee) => employee.id === id ); // The error occurs when I try to return a "name" under an employee that matched by id. return employee.name; } console.log("Got Employee: "), fetchEmployeeName(3));
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

filter devuelve una nueva matriz que contiene todos los elementos coincidentes:

 [1, 2, 3].filter(i => i === 4)

Lo anterior devolverá una matriz vacía.

Lo que desea usar es find , que devolverá un solo elemento coincidente o undefined .

Modifique la función fetchEmployeeName para usar find :

 function fetchEmployeeName(id : number): string | null { var employee = employees.find( (employee) => employee.id === id ); if (employee === undefined) return null; return employee.name; }
about 4 years ago · Juan Pablo Isaza Relatório

0

Intente usar buscar en lugar de filtrar. El filtro devuelve una matriz. Find devuelve un único objeto. La próxima vez, si usa vscode, coloque el cursor sobre el empleado en la primera línea de fetchEmployeeName y verifique su tipo. Intellisense en vscode le indicará que el empleado es claramente una matriz.

about 4 years ago · Juan Pablo Isaza Relatório

0

Le recomiendo enfáticamente que use find en lugar de filter , pero si realmente quiere ceñirse a su enfoque, tendrá que acceder al único miembro de la matriz de empleados a través de su índice (el filter devuelve una matriz completa con los elementos que cumplen con los requisitos especificados). condición). P.EJ:

 return employee[0].name

Nuevamente, puede resolver este problema en particular usando filter , ya que devuelve un solo elemento al que accede sin la necesidad de un índice (esto le permitirá dejar la declaración de devolución tal como está).

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