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

109
Visualizações
cómo hacer un tipo iterable en el script de tipo que tiene un par de valores clave

Estoy usando un script de tipo y quiero crear un tipo que represente un objeto como este. Las claves generadas se generan dinámicamente. ¿Cómo hago eso?

 { dog:true, cat:true, x:true }

actualmente solo estoy usando cualquiera, pero me gustaría un tipo adecuado

 const matches: any= {}

me sale este error cuando trato de usar

 {[key: string]: boolean}
 Type 'string[] | { [key: string]: boolean; }' must have a '[Symbol.iterator]()' method that returns an iterato

código que causa este error

 const docgetter=()=> const matches: { [key: string]: boolean } = {} const documentFieldKeys = Array.isArray(documentNames) ? documentNames : Object.keys(documentNames) return [matches, documentFieldKeys] } const [matches,kycKeys]=docgetter() for(key of kycKeys)
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Usando [key : string]

 type dict = { [key : string] : boolean } const o: dict = { cat: true, dog: true, x: false }

Editar:

no especificó un tipo para la salida de docgetter , por lo que TypeScript lo infirió incorrectamente como

 const kycKeys: { [key: string]: boolean; } | string[]

Puedes arreglar esto haciendo

 for(const key of kycKeys as string[]) { console.log(key) }

para que TypeScript sepa que está iterando una matriz y no un objeto (el objeto generaría un error)

O podría dejar que TypeScript sepa cuál es el resultado

versión fija de su código:

 const documentNames = { "a": true, "b": true, "c": true } type output = [ { [key: string]: boolean }, string[] ] const docgetter=() : output => { const matches: { [key: string]: boolean } = {} const documentFieldKeys : string[] = Array.isArray(documentNames) ? documentNames : Object.keys(documentNames) return [matches, documentFieldKeys] } const [matches,kycKeys]=docgetter() for(const key of kycKeys) { console.log(key) }
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