Neste artigo vamos aprender como ordenar um array, de form ascendente e descendente, na linguagem JavaScript.
E aí programador(a), tudo certo? Bora aprender coisa nova então?
Ordenar arrays é uma tarefa bem simples com JavaScript, nós podemos utilizar o método sort para isso
Mas nem sempre somente ele é o suficiente, por isso há uma possibilidade de adicionar uma função como parâmetro
E com esta função podemos fazer uma comparação entre os valores e ordenar os elementos de um array
Quer se especializar em Desenvolvimento Web? Veja o nosso catálogo de cursos.
Tanto de forma ascendente como descendente
Então vamos ver na prática o código de como ordenar arrays:
let numbers = [5,32,1,838,34,2,5,9,8,2,98,42,64]; let numbersAsc = numbers.sort(function(a, b) { return a - b; }); console.log(numbersAsc); // [1, 2, 2, 5, 5, 8, 9, 32, 34, 42, 64, 98, 838]
Neste exemplo criamos um array com números aleatórios
Após isso aplicamos o método sort com a função anônima que eu comentei anteriormente
A função serve para fazer uma comparação entre os dois valores, a e b, assim ela vai vendo qual dos dois é maior ou menor e organizando o array, legal né? 😀
Assim conseguimos ordernar o array de forma crescente, que eu inseri em um nova variável e imprimi no console
E se quisermos ordenar um array de forma descendente?
Podemos aproveitar quas e mesma estrutura para isso, só apenas um detalhe a mais resolverá o problema
Em vez de compararmos a – b, vamos fazer b – a
Isso garantirá que o maior número venha para o início e o menor para o final, fazendo com que ordene o array de forma descendente, veja:
let numbers = [5,32,1,838,34,2,5,9,8,2,98,42,64]; let numbersDesc = numbers.sort(function(a, b) { return b - a; }); console.log(numbersDesc); // [838, 98, 64, 42, 34, 32, 9, 8, 5, 5, 2, 2, 1]
Quando eu vi essa forma simples de ordenar array pela primeira vez, também pensei que era mágica
Mas realmente funciona, faça os testes 🙂
Conclusão
Vimos que podemos ordenar arrays no JavaScript de forma muito simples
Utilizamos o método sort para isso, com uma função para nos auxiliar a comparar os valores do array
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube