Facebook pixel
>Blog>Programação
Programação

Como ordenar um array em JavaScript: guia completo

Neste guia completo, você aprenderá como ordenar um array em JavaScript.

Introdução ao ordenamento de arrays em JavaScript

Como ordenar um array alfabeticamente em JavaScript: guia completo

Quando temos um array de strings em JavaScript e precisamos ordená-lo alfabeticamente, podemos utilizar o método sort(). Esse método faz uma comparação lexicográfica entre os elementos do array e os ordena em ordem crescente. Por padrão, a ordenação é realizada de acordo com o valor Unicode de cada caractere.

Vamos ver um exemplo prático de como utilizar o método sort() para ordenar um array de strings:

    let frutas = ['banana', 'abacaxi', 'laranja', 'maçã'];
frutas.sort();
console.log(frutas);
  

Neste exemplo, o array frutas será ordenado alfabeticamente e o resultado será ['abacaxi', 'banana', 'laranja', 'maçã']. O método sort() altera o array original, por isso não é necessário atribuir o resultado a uma nova variável.

Além disso, é possível realizar uma ordenação personalizada, utilizando uma função de comparação como argumento do método sort(). Essa função recebe dois parâmetros e retorna um valor negativo se o primeiro parâmetro deve ser ordenado antes do segundo, um valor positivo se o primeiro parâmetro deve ser ordenado depois do segundo, ou zero se os dois parâmetros forem iguais. Veja um exemplo:

    let numeros = [10, 2, 15, 5];
numeros.sort(function(a, b) {
  return a - b;
});
console.log(numeros);
  

Nesse caso, o array numeros será ordenado de forma crescente, resultando em [2, 5, 10, 15]. A função de comparação realiza a subtração entre os elementos para determinar a ordem correta.

Nossa metodologia de ensino tem eficiência comprovada
Nossa metodologia de ensino tem eficiência comprovada Aprenda uma nova língua na maior escola de idiomas do mundo! Conquiste a fluência no idioma que sempre sonhou com uma solução de ensino completa. Quero estudar na Fluency
Nossa metodologia de ensino tem eficiência comprovada

Como ordenar um array de objetos em JavaScript: guia completo

Quando trabalhamos com arrays de objetos em JavaScript, a ordenação pode se tornar um pouco mais complexa. Precisamos definir critérios de ordenação com base em propriedades específicas dos objetos.

Uma abordagem comum é utilizar o método sort() em conjunto com uma função de comparação personalizada. Essa função recebe dois parâmetros que representam dois objetos do array e retorna um valor negativo, positivo ou zero, dependendo dos critérios de comparação.

Vamos supor que temos um array de objetos “pessoas”, onde cada objeto possui as propriedades “nome” e “idade”. Para ordenar o array de pessoas por idade, podemos fazer o seguinte:

    let pessoas = [
  { nome: 'João', idade: 25 },
  { nome: 'Maria', idade: 30 },
  { nome: 'Pedro', idade: 20 }
];

pessoas.sort(function(a, b) {
  return a.idade - b.idade;
});

console.log(pessoas);
  

Nesse exemplo, o array pessoas será ordenado por idade, resultando em:

    [
  { nome: 'Pedro', idade: 20 },
  { nome: 'João', idade: 25 },
  { nome: 'Maria', idade: 30 }
]
  

Podemos também adicionar critérios de desempate, caso haja pessoas com a mesma idade. Basta retornar a comparação entre outros atributos, como nome, por exemplo:

    pessoas.sort(function(a, b) {
  if (a.idade === b.idade) {
    return a.nome.localeCompare(b.nome);
  } else {
    return a.idade - b.idade;
  }
});
  

Nesse caso, se duas pessoas tiverem a mesma idade, a função localeCompare() será utilizada para realizar a ordenação alfabética por nome.

Como ordenar um array numericamente em JavaScript: guia completo

Quando lidamos com arrays numéricos em JavaScript, a ordenação pode se tornar um desafio um pouco mais complexo. Por padrão, o método sort() realiza a ordenação de forma lexicográfica, ou seja, como se os elementos fossem strings. Isso pode gerar resultados inesperados quando trabalhamos com números.

No entanto, podemos contornar essa situação utilizando uma função de comparação personalizada. Essa função recebe dois parâmetros, que representam dois elementos do array, e retorna um valor negativo, positivo ou zero, com base nos critérios de comparação.

Um exemplo prático de ordenação numérica em JavaScript:

    let numeros = [10, 5, 22, 1, 7];
numeros.sort(function(a, b) {
  return a - b;
});
console.log(numeros);
  

Nesse exemplo, o array numeros será ordenado de forma crescente, resultando em [1, 5, 7, 10, 22]. A função de comparação realiza a subtração entre os elementos, garantindo que a ordenação seja numérica e correta.

Nossa metodologia de ensino tem eficiência comprovada
Nossa metodologia de ensino tem eficiência comprovada Aprenda uma nova língua na maior escola de idiomas do mundo! Conquiste a fluência no idioma que sempre sonhou com uma solução de ensino completa. Quero estudar na Fluency
Nossa metodologia de ensino tem eficiência comprovada

Outra possibilidade é utilizar o método sort() em conjunto com o método localeCompare(), que realiza a comparação de strings de forma numérica:

    let numeros = [10, 5, 22, 1, 7];
numeros.sort(function(a, b) {
  return a.toString().localeCompare(b.toString(), undefined, { numeric: true });
});
console.log(numeros);
  

Nesse caso, os números são convertidos em strings e a comparação é realizada utilizando a opção numeric: true, que considera o valor numérico das strings na ordenação. O resultado será o mesmo: [1, 5, 7, 10, 22].

Conclusão

Como vimos neste guia completo, existem diversas maneiras de ordenar um array em JavaScript. A escolha do método a ser utilizado depende das necessidades específicas do seu projeto e da estrutura dos dados que você está trabalhando.

Recomendamos que você experimente os diferentes métodos apresentados e teste sua aplicação para verificar qual abordagem melhor se adapta ao seu contexto. Lembre-se de sempre consultar a documentação oficial da linguagem JavaScript para obter mais informações sobre os métodos e suas opções.

Esperamos que este guia tenha sido útil para você entender como ordenar um array em JavaScript. Continue aprimorando seus conhecimentos e explorando as possibilidades que a linguagem oferece.

A Awari é a melhor plataforma para aprender sobre programação no Brasil.

Aqui você encontra cursos com aulas ao vivo, mentorias individuais com os melhores profissionais do mercado e suporte de carreira personalizado para dar seu próximo passo profissional e aprender habilidades como Data Science, Data Analytics, Machine Learning e mais.

Já pensou em aprender de maneira individualizada com profissionais que atuam em empresas como Nubank, Amazon e Google? Clique aqui para se inscrever na Awari e começar a construir agora mesmo o próximo capítulo da sua carreira em dados.

Nossa metodologia de ensino tem eficiência comprovada
Nossa metodologia de ensino tem eficiência comprovada Aprenda uma nova língua na maior escola de idiomas do mundo! Conquiste a fluência no idioma que sempre sonhou com uma solução de ensino completa. Quero estudar na Fluency
Nossa metodologia de ensino tem eficiência comprovada

Sobre o autor

A melhor plataforma para aprender tecnologia no Brasil

A Awari é a melhor maneira de aprender tecnologia no Brasil.
Faça parte e tenha acesso a cursos com aulas ao vivo e mentorias individuais com os melhores profissionais do mercado.