1
resposta

Sobre o link "Como ordenar uma sequência de números no JavaScript"

No link "Como ordenar uma sequência de números no JavaScript", os números foram colocados em ordem, mas como não foram ordenados corretamente pelo fator de que função compara apenas o primeiro número foi realizado o código de ajuste, mas caso adicionemos um valor com 3 casas decimais ex.:"235", a função já não funciona mais corretamente, o que pode-se fazer para que qualquer valor possa ser comparado corretamente?

1 resposta

Tudo bem Leonardo? Não entendi direito a sua duvida, mas vou fazer o melhor para te responder.

No caso do link citado o codigo que é proposto para solucionar o problema é:

var lista = [10,1, 5, 9, 8, 12, 15];
function comparaNumeros(a,b) {
    if (a == b) return 0;
    if (a < b) return -1;
    if (a > b) return 1;
}
lista.sort(comparaNumeros);
console.log(lista) // [1, 5, 8, 9, 10, 12, 15]

Para testar esse código e ver se ele tem algum tipo de problema troquei os valores de lista para

var lista = [10, 1, 1.345, 5.456, 9.978, 8.8888, 12.121212, 15.1, 15.2, 150, 999, 1525];

Assim temos valores inteiros de 1 a 4 casas, e valores de ponto flutuante (decimais) e ao executar novamente o código com o novo valor de lista o resultado foi

[1, 1.345, 5.456, 8.8888, 9.978, 10, 12.121212, 15.1, 15.2, 150, 999, 1525]

então esse código é valido para números grandes e pequenos, além de números com ponto flutuante

Espero que tenha entendido, qualquer duvida é só falar por aqui, continue se esforçando e bons estudos.