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

351
Visualizações
Texto mecanografiado: cómo definir un objeto con muchas claves desconocidas

Estoy creando una aplicación que accede a una API que devuelve un objeto con muchas claves desconocidas, cada clave representa una identificación de usuario.

Ejemplo:

 const response = { "random id1": {name: "user1"}, "random id2": {name: "user2"}, ... "random id100": {name: "user100"} }

Sé que si solo tengo una clave desconocida, puedo definir usando algo como:

 type MyDefinition = { [key: string]: Metadata }

Pero, ¿cómo puedo definir un objeto con tantas claves diferentes?

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

0

Extendiendo el comentario de @ASDFGerte. Puede generar un rango de números de 0 a 998 en TypeScript 4.5:

 type MAXIMUM_ALLOWED_BOUNDARY = 999 type ComputeRange< N extends number, Result extends Array<unknown> = [], > = (Result['length'] extends N ? Result : ComputeRange<N, [...Result, Result['length']]> ) // 0 , 1, 2 ... 998 type NumberRange = ComputeRange<MAXIMUM_ALLOWED_BOUNDARY>[number] type Name<T extends string> = { name: T } type CustomResponse = { [Prop in NumberRange]: Record<`random id${Prop}`, Name<`id${Prop}`>> }

Patio de juegos

ingrese la descripción de la imagen aquí

Aquí y aquí puede encontrar una explicación del rango de números.

Probablemente hayas notado que hay un límite que no puedes cruzar.

Con el enfoque anterior, no permitirá random id1e4 .

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede usar un tipo definido con una cadena de plantilla como esta:

 const response: { [key: `random id${number}`]: { name: string }} = { "random id1": {name: "user1"}, "random id2": {name: "user2"}, "random id100": {name: "user100"} }

Puedes verlo en acción en este patio de juegos de TypeScript .

about 4 years ago · Juan Pablo Isaza Relatório

0

[key: string] permite cualquier cantidad de cadenas únicas como claves.

 type Metadata = { name: string } type MyDefinition = { [key: string]: Metadata } const response: MyDefinition = { "random id1": {name: "user1"}, "random id2": {name: "user2"}, // ... "random id100": {name: "user100"}, };

Pruébalo en TypeScript Playground

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