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

100
Visualizações
HashMap en TypeScript con objeto personalizado

Introducción

Actualmente estoy trabajando en un proyecto que necesito para guardar la puntuación de cada usuario. Para esto usé un Map<User, number> para representarlo.

Problemático

Si creo un mapa con un usuario llamado john:

 let myMap: Map<User, number> = new Map(); myMap.set(new User("John","Hasherman"), 0);

Y si quiero poner la puntuación de John Hasherman en 1 (voluntariamente utilizando una nueva instancia y no la utilizada anteriormente), con este código:

 myMap.set(new User("John","Hasherman"), 1);

Pero TypeScript crea un nuevo elemento dentro de myMap.

Pregunta

Entonces mi pregunta es, ¿sabes si es posible personalizar el comparador que se usa dentro del mapa? como Java al definir hashCode() y equals(o Object) ?

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

0

Necesitará una forma para que el usuario exponga la funcionalidad que identificará a un usuario en particular, tal vez por nombre o tal vez por una identificación más única. De cualquier manera, un Mapa donde cada usuario es la clave no es muy adecuado para el trabajo, pero es posible.

 class User { public first: string; public last: string; constructor(first: string, last: string) { this.first = first; this.last = last; } } const myMap: Map<User, number> = new Map(); myMap.set(new User("John","Hasherman"), 0); // to set John's value to 1: const foundJohn = [...myMap.keys()].find( obj => obj.first === 'John' && obj.last === 'Hasherman' ); if (foundJohn) { myMap.set(foundJohn, 1); }

Es algo complicado. Sugeriría considerar una estructura de datos diferente si es posible.

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