Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

as funções sort e reverse não organizam da forma esperada

Testando no console o exemplo:

let lista = [10,1, 5, 9, 8, 12, 15];
lista.sort();
lista.reverse();

O resultado retornado de cada um na sequencia foram:

lista.sort();
[1, 10, 12, 15, 5, 8, 9]
lista.reverse();
[9, 8, 5, 15, 12, 10, 1]

Na função sort() não retornou: 1, 5, 8, 9, 10, 12, 15. Minha dúvida é, por que? Ele primeiro ordenou 1 e sua casa, depois o restante em sequencia.

2 respostas
solução!

O sort ordena pela tabela unicode, ou seja, baseado nos caracteres:

https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

Voce pode fazer sua funcao de sort e passar como argumento, ai é facil implementar uma versao que faz ordenacao numerica:

lista.sort((a,b) => a-b);

Obrigado, Sérgio ;)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software