JavaScriptArraysintermediario

Ordenar números corretamente

Quando você trabalha com listas de preços, datas ou notas, ordená-las corretamente é essencial. O método sort() do JavaScript, sem um comparador, trata os elementos como strings, gerando resultados inesperados em arrays numéricos. Dominar o comparador (a,b) => a-b garante que sua ordenação funcione em qualquer cenário real.

O PROBLEMA

Ordene números crescente e decrescente com sort() e comparador.

EXEMPLO

[10,9,2,1,100]
Crescente: [1,2,9,10,100]
Decrescente: [100,10,9,2,1]

SOBRE O CONCEITO

O método sort() ordena os elementos in-place, mas por padrão converte cada elemento em string e compara sequências de código Unicode. Para números, isso causa erros como [1, 100, 2, 9] porque '100' vem antes de '2'. O erro comum é usar sort() sem argumentos. Para ordenar numericamente, passe uma função de comparação que retorne negativo, zero ou positivo: (a, b) => a - b para crescente ou (b - a) para decrescente. Isso força a comparação numérica real. Como o exercício proíbe loops, você deve usar slice() para copiar o array antes de ordenar, mantendo o original intacto.

RESOLUÇÃO

Mais exercícios de Arrays

JSA015 · Intermediáriosome e everyJSA001 · BásicoCriar e exibir arrayJSA002 · Básicopush e popJSA004 · BásicoModificar elementos
Ver todos os exercícios de JavaScript