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

178
Visualizações
Texto mecanografiado "El elemento tiene implícitamente un tipo 'cualquiera' porque la expresión de tipo 'Rank' no se puede usar para indexar el tipo 'IPowerCards'"

Estoy construyendo un juego de cartas y tengo los siguientes tipos:

 type Rank = "A"| "2"| "3"| "4"| "5"| "6"| "7"| "8"| "9"| "T"| "J"| "Q"| "K"; interface IPowerCards { [key: Rank]: any }

También tengo el siguiente objeto al que intento acceder con una cadena de clasificación:

 const powerCards: IPowerCards = { "A": { canPlayOnAnyCard: true, canChangeSuit: true, }, "2": { canCounterPenaltyCard: true, penaltyAmount: 2, }, ..., };

Todas las claves de este objeto son tipos de Rank válidos. Estoy tratando de acceder a los valores en el objeto powerCards usando el siguiente código:

 const rank = getRank(card) as Rank; return rank && powerCards[rank]?.canCounterPenaltyCard

Sin embargo, aparece el error Element implicitly has an 'any' type because expression of type 'Rank' can't be used to index type 'IPowerCards'. Property 'A' does not exist on type 'IPowerCards'. Este mensaje de error no tiene sentido para mí porque me aseguro de que la variable de rank , que es la variable que estoy usando para acceder al objeto powerCards , sea del tipo Rank , que es lo que especifiqué en mi definición de tipo IPowerCards . ¿Dónde me estoy equivocando? Gracias

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Use un Record para IPowerCards en su lugar:

 type IPowerCards = Record<Rank, any>

Si desea tener las propiedades opcionales:

 type IPowerCards = { [key in Rank]?: any }
about 4 years ago · Santiago Trujillo 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