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

410
Visualizações
TypeScript: especifique que el valor debe estar en Array usando el operador de extensión

Estoy tratando de definir un tipo donde el valor de la propiedad favoriteFruit debe ser un elemento en la matriz de opciones. Donde la matriz de opciones es dinámica/desconocida (lo que hace imposible usar tipos de unión "|").

 const options = ["apple", "orange", "kiwi"]; // Dynamic list that can be modified in the future type Person = { name: string; favoriteFruit: /* --- val in [...options] --- */ }; const personA:Person = {name: "Jack", favoriteFruit: "apple"}; // OK const personB:Person = {name: "John", favoriteFruit: "orange"}; // OK const personC:Person = {name: "Jane", favoriteFruit: "banana"}; // ERROR
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Encontré esto: ¿Cómo convertir una matriz de cadenas a tipos de escritura mecanografiada? .

 const arr = ["foo", "bar", "loo"] as const type arrTyp = typeof arr[number]; // "foo" | "bar" | "loo"
over 4 years ago · Santiago Trujillo Relatório

0

Espero que esto sea lo que estás buscando.

[ACTUALIZADO]

 const options = ["apple", "orange", "kiwi"] as const; // Dynamic list that can be modified in the future type optionsType = typeof options[number]; type Person = { name: string; favoriteFruit: optionsType;/* --- val in [...options] --- */ }; const personA:Person = {name: "Jack", favoriteFruit: "apple"}; // OK const personB:Person = {name: "John", favoriteFruit: "orange"}; // OK const personC:Person = {name: "Jane", favoriteFruit: "banana"}; // ERROR console.log(personC)

puede mantener su lista de opciones dinámica

Puedes probar aquí

over 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