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