Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

169
Vistas
¿Cómo escribo muchas variables en un tipo de forma abreviada, a partir de una respuesta JSON, en mecanografiado?

Tengo una pregunta relativamente trivial, digamos que necesito crear un nuevo tipo a partir de una respuesta JSON

Mi respuesta JSON (llamémosla respuesta de etiqueta) es la siguiente

 { id1: "someString" someField: "someString" someMoreFields: "someString" EvenMorefields: "someString" EvenMoreMoreFields: "someString" SoManyManyFields: "someString" EndlessFields: "someString" }

Ahora, si elijo crear un tipo a partir de esta respuesta, sería el siguiente (corríjame si me equivoco)

 export type LabelResponse = { Fields: string; FieldsMore:string; MoreMoreFields:string; MoreMoreMoreFields:string; }

Esto es muy detallado ya que cuantas más ID tenga, más campos necesitaré y todas las ID son del mismo tipo.

¿Hay alguna manera de escribir esto de forma abreviada, por ejemplo, en mi parámetro de función, en lugar de declarar un tipo para él?

Por ejemplo en lugar de

 function myFunction(label:LabelResponse)

¿Sería posible declarar mi tipo en los paréntesis de parámetros? Como esto:

 function myFunction(label:DeclareMyTypeHereSomehow?)
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puede crear un tipo de registro que incluya una clave de cadena y una clave de valor de la siguiente manera:

 type LabelResponse = Record<string, string> const data: LabelResponse = { id1: "someString", id2: "someString", someRandomString: "someString", someWeirdString: "someString", }

Patio de juegos

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede acortar la definición de tipo utilizando tipos de plantilla literal como los siguientes:

 export type LabelResponse = { [K in `id${1|2|3|4}`]: string; }

Esto dará un tipo como:

 type LabelResponse = { id1: string; id2: string; id3: string; id4: string; }

patio de recreo


O si no le importa el rango real, puede usar id${number} :

 export type LabelResponse = { [K in `id${number}`]: string; } // errors since key doesn't start with id const x: LabelResponse = { 'x1': 'hello' } // works const y: LabelResponse = { 'id2': 'world' } // not works since it expects a number after id const z: LabelResponse = { 'idx': '!' }

Patio de juegos


Si no le importa la clave en absoluto, puede hacer lo siguiente:

 type LabelResponse = { [K: string]: string }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda