GeradoresOnline
Texto

Colocar em Ordem Alfabética

Ordene as linhas do seu texto em ordem alfabética (uma entrada por linha).

Documentação técnica

Ordem Alfabética: por que .sort() puro ordena "Zebra" antes de "árvore"

O método .sort() padrão do JavaScript, sem um comparador específico, ordena strings pelo valor numérico do ponto de código Unicode de cada caractere — não pela ordem alfabética que um leitor de português esperaria. Isso produz um resultado contraintuitivo real: como as letras maiúsculas ocupam uma faixa Unicode numericamente menor que as minúsculas (A=65 a Z=90, enquanto a=97 a z=122), e caracteres acentuados ocupam pontos de código ainda mais altos (á=225, por exemplo), uma ordenação "crua" por ponto de código coloca toda palavra iniciada por maiúscula antes de qualquer palavra minúscula, e qualquer palavra acentuada por último — "Zebra" aparece antes de "árvore", porque 'Z' (90) é numericamente menor que 'á' (225), mesmo 'á' vindo antes de 'z' no alfabeto que um falante de português reconhece.

A correção: localeCompare(), não uma comparação de valor bruto

A forma correta de ordenar texto respeitando convenções linguísticas reais é usar String.prototype.localeCompare() como função de comparação do .sort(), em vez de deixar o JavaScript comparar os valores Unicode brutos. localeCompare() aplica regras de collation (ordenação linguística) específicas do idioma — em português, isso significa tratar "á" como uma variante de "a" para fins de ordem alfabética (posicionando-a perto de outras palavras com "a", não isolada por seu valor numérico alto), e ignorar diferença de maiúscula/minúscula para decidir a ordem primária entre palavras.

Por que isso importa além de listas alfabéticas simples

Qualquer sistema que ordena nomes de usuário, produtos ou qualquer lista de texto em português para exibição — não só uma ferramenta dedicada de "colocar em ordem alfabética" — enfrenta esse mesmo problema se usar ordenação padrão sem comparador. Um catálogo de produtos que ordena "Zabumba" antes de "Água" é um bug de UX real, silencioso até alguém notar que a lista "parece fora de ordem" — e a causa raiz é sempre a mesma: comparação por valor Unicode bruto em vez de collation linguística apropriada ao idioma do conteúdo.

Gostou das ferramentas? Ajude a manter o site no ar: apoiar via Pix · Sobre · Contato · Política de Privacidade