JavaScriptArraysbasico

sort e reverse

Quando você exibe listas em ordem alfabética ou cronológica, sort() e reverse() são seus aliados. Porém, sort() sozinho transforma tudo em string e ordena como texto, o que bagunça números (ex.: 10 vem antes de 2). Saber isso evita bugs em relatórios, tabelas e catálogos de produtos.

O PROBLEMA

Ordene nomes com sort() e reverse(). Mostre problemas do sort() com números.

EXEMPLO

["Carlos","Ana","Maria"] → ["Ana","Carlos","Maria"]
[10,9,2,1,100] → [1,10,100,2,9] ⚠️

SOBRE O CONCEITO

sort() ordena o array convertendo cada elemento em string e comparando seus valores Unicode. Para números, sem um comparador, [10,9,2,1,100] vira [1,10,100,2,9] — porque '100' é menor que '2' na ordenação textual. reverse() inverte a ordem atual. Ambos modificam o array original; para preservar o original, use slice() antes: let copia = original.slice().sort(). O erro comum é ignorar essa mutação ou usar sort() sem função de comparação quando se espera ordenação numérica.

RESOLUÇÃO

Mais exercícios de Arrays

JSA015 · Intermediáriosome e everyJSA017 · IntermediárioOrdenar números corretamenteJSA001 · BásicoCriar e exibir arrayJSA002 · Básicopush e pop
Ver todos os exercícios de JavaScript