Categorias do Site

Como iterar enums no TypeScript: exemplos práticos

Aprenda a iterar sobre enums no TypeScript com exemplos de código práticos, usando Object.keys(), Object.values() e mais.

Logotipo azul com as letras

Enums são comuns na programação moderna, usados para modelar categorias como estados de semáforos ou dias da semana. No TypeScript, evoluíram de mapeamentos simples para estruturas mais complexas.

How To Iterate Over Enums In TypeScript

Uma vantagem dos enums é facilitar o mapeamento de listas curtas de valores em números, tornando comparações mais simples. Este artigo explora diferentes métodos para iterar sobre enums no TypeScript.

Resposta rápida

Se precisar extrair chaves ou valores numéricos de um objeto no JavaScript, aqui estão três abordagens comuns:

  • Use Object.keys() com filtragem para obter chaves que representam números.
  • Use Object.values() e filtre valores que sejam números.
  • Use Object.entries() para filtrar chaves e valores com base em serem numéricos.
// Opção 1: Obter apenas chaves numéricas (chaves como strings, filtrar as que convertem para números) const numericKeys = Object.keys(obj).filter(key => !isNaN(Number(key)));

// Opção 2: Obter apenas valores numéricos const numericValues = Object.values(obj).filter(value => typeof value === 'number');

// Opção 3: Obter entradas com chaves ou valores numéricos (exemplo de filtro personalizado) const numericEntries = Object.entries(obj).filter(([key, value]) => !isNaN(Number(key)) || typeof value === 'number');

Por que iterar através de enums no TypeScript?

Os enums no TypeScript são objetos simples. Por exemplo:

enum TrafficLight { Green = 1, Yellow, Red }

Na definição acima, Green é mapeado para o número 1. Os membros subsequentes são mapeados para inteiros autoincrementados.

Às vezes, queremos iterar sobre um enum do TypeScript para realizar ações, como renderizar opções em uma UI ou validar valores de entrada.

Casos de uso e tipos de enums

Antes de explorar técnicas de iteração, é importante entender quais métodos funcionam melhor dependendo do tipo de enum com que você está lidando.

Enums numéricos criam um mapeamento reverso que inclui chaves e valores numéricos, exigindo filtragem para evitar entradas duplicadas. Enums de string são objetos mais simples sem mapeamentos reversos, então filtrar por tipo é geralmente suficiente.

Como iterar sobre um enum no TypeScript?

Você pode iterar sobre enums no TypeScript usando uma das seguintes abordagens, dependendo do tipo de enum e de suas necessidades:

Usando métodos de objeto para iterar sobre enums no TypeScript

A maneira mais simples de iterar sobre um enum no TypeScript é convertê-lo em um array usando os métodos incorporados Object.keys() e Object.values(). O primeiro retorna um array contendo as chaves do objeto enum, e o último retorna um array de valores do enum.

O código a seguir mostra como usar o método incorporado de objeto para listar as chaves e os valores de um enum:

const keys = Object.keys(TrafficLight)

keys.forEach((key, index) => {
        console.log(`${key} has index ${index}`)
})

O exemplo acima imprime o seguinte:

"1 has index 0"
"2 has index 1"
"3 has index 2"
"Green has index 3"
"Yellow has index 4"
"Red has index 5"

Veja como as chaves numéricas aparecem primeiro? Isso ocorre porque enums numéricos geram um mapeamento reverso. Se quisermos listar apenas as chaves de string, precisaremos filtrar as numéricas:

const stringKeys = Object
    .keys(TrafficLight)
    .filter((v) => isNaN(Number(v)))

stringKeys.forEach((key, index) => {
    console.log(`${key} has index ${index}`)
})

Neste caso, o snippet acima imprime o seguinte:

"Green has index 0"
"Yellow has index 1"
"Red has index 2"
  • Windsurf vs Cursor: Qual escolher?

    Comparação entre Windsurf e Cursor para desenvolvedores front-end. Descubra qual IDE é a melhor opção para você.

    Comparação entre Windsurf e Cursor para desenvolvedores front-end. Descubra qual IDE é a melhor opção para você.

    Ler notícia completa
    Ícones de um 'W' e um cubo geométrico sobre fundo de padrão geométrico luminoso com faixas em tons de cobre e prata.
  • Impacto da IA no Design e Interfaces

    Descubra como a IA transforma o design diário e as interfaces, sem substituir a habilidade humana.

    Descubra como a IA transforma o design diário e as interfaces, sem substituir a habilidade humana.

    Ler notícia completa
    Imagem abstrata com pinceladas grandes e diagonais em tons de laranja sobre um fundo suave azul claro. Contém texto sobre a influência da IA em fluxos de trabalho de design.
  • Crise de Atenção: Liderando em um Mundo Acelerado

    Descubra como a crise de atenção afeta equipes e estratégias para melhorar a produtividade e respeito no ambiente de trabalho.

    Descubra como a crise de atenção afeta equipes e estratégias para melhorar a produtividade e respeito no ambiente de trabalho.

    Ler notícia completa
    Ícone de megafone rosa e azul sobre fundo desfocado que transita de claro a escuro da esquerda para a direita.
  • Melhores Modelos de Logos para Gamers em 2025

    Logos são tão importantes para gamers quanto para atletas profissionais. O mundo dos eSports exige uma estética específica com cores vibrantes para se destacar em telas de dispositivos móveis e desktops. O desafio dos designers é criar logos que capturem a essência do jogador ou equipe e engajem os fãs de eSports. Esta coleção de […]

    Explore mais de 40 modelos de logos para gamers e equipes de eSports, perfeitos para destacar sua marca no universo dos jogos.

    Ler notícia completa
    Logotipo da
  • Microfalhas no UX: O perigo invisível nos sites

    Vamos direto ao ponto: seu site não está quebrado, ele apenas parece quebrado. Não há erros 500, o checkout funciona, os botões clicam—mas de alguma forma, usá-lo é como morrer por mil cortes de papel. Você sabe do que estou falando. A leve lentidão. O atraso estranho ao clicar em um botão. O menu suspenso […]

    Entenda como microfalhas estão destruindo a experiência do usuário em seu site e afugentando visitantes.

    Ler notícia completa
    Laptop prateado com a tela fragmentando-se em pedaços de vidro, sugerindo um efeito tridimensional de quebra.
  • Tendências na Pesquisa de Ferramentas de Design 2025

    Antes da IA, a indústria do design havia estagnado. Sistemas de design se tornaram comuns, e o Figma dominou o mercado de ferramentas de design. Agora, a IA surge como um novo e esperado disruptor. Este artigo analisa os resultados da pesquisa de ferramentas de design de 2025. Descubra as ferramentas mais populares, a adoção […]

    Descubra as tendências e surpresas da pesquisa de ferramentas de design de 2025, incluindo a adoção de IA e o domínio do Figma.

    Ler notícia completa
    Ilustração simplificada de uma página web com iconografia rosa e roxa representando elementos como URL, imagem, código e texto em um fundo texturizado.
  • Workshop de IA em UX: Alcançando Mais com Menos

    Vamos ser honestos: UX não está ficando mais fácil Se você trabalha com UX, provavelmente está sentindo a pressão. Orçamentos apertados e expectativas crescentes são desafios constantes. Além disso, a IA está mudando tudo em nosso trabalho, às vezes para melhor, às vezes de forma preocupante. Tenho passado o último ano envolvido em projetos de […]

    Descubra como a IA pode otimizar o UX, reduzindo tarefas e aumentando a eficiência em um workshop prático e relevante.

    Ler notícia completa
    Homem com fones e laptop e robô rosa grande ao fundo em ambiente com névoa. Ambos concentram-se intensamente em suas tarefas.
  • Como Criar Produtos de IA Eficazes para Usuários e Empresas

    A tecnologia revolucionou o mundo, desde o telefone de Bell em 1876 até o iPhone da Apple em 2007. Com a IA entrando no mainstream, empresas correm para adotá-la em seus produtos e ferramentas internas, impulsionando eficiência e produtividade. Ignorar essa tendência pode significar ficar para trás. Para designers, essa onda de adoção de IA […]

    Aprenda a projetar produtos de IA que equilibram usabilidade e governança, atendendo usuários e stakeholders empresariais.

    Ler notícia completa
    Ilustração de perfil de cabeça humana com metade mostrando cérebro humano e a outra metade com estrutura em malha conectada por pontos, em fundo degradê azul e verde.
  • Como o viés da IA mantêm o poder e prejudica a compreensão

    Introdução As salvaguardas da IA foram introduzidas sob o pretexto de segurança e neutralidade. No entanto, na prática, criam uma inversão dos padrões éticos de comunicação: negam validação a quem não tem reconhecimento institucional, enquanto elogiam sem crítica aqueles que já o possuem. Isso não é alinhamento, mas um reflexo do poder algorítmico. O artigo […]

    Análise crítica sobre como as salvaguardas da IA reforçam hierarquias e distorcem a percepção dos usuários.

    Ler notícia completa
    Imagem abstrata de blocos sobrepostos em tons de preto, cinza e coral, com texto sobre IA na parte inferior.