JavaScript

Como ordenar um array de objetos em JavaScript

11 de janeiro de 2021

Como ordenar um array de objetos em JavaScript

Neste artigo você vai aprender a como ordenar um array de objetos em JavaScript, utilizando a função sort, para organizar seus dados

ordenar um array de objetos capa

Conteúdo disponível em vídeo também:

Fala programador(a), beleza? Bora aprender mais sobre arrays, objetos e ordenação dos mesmos em JavaScript!

Para realizar a ordenação de um array de objetos vamos utilizar o método sort

Esta função pode receber como parâmetro uma função, que auxilia na ordenação dos valores dos objetos

Podemos então criar uma ordenação personalizada!

Veja um exemplo prático:

var pessoas = [
	{
  	nome: "Matheus",
    idade: 29
  },
  {
  	nome: "Pedro",
    idade: 18
  },
  {
  	nome: "Maria",
    idade: 40
  },
  {
  	nome: "Alan",
    idade: 63
  }
];

pessoas.sort(function(a, b) {
  if(a.nome < b.nome) {
    return -1;
  } else {
    return true;
  }
});

console.log(pessoas);

O resultado será:

[{
  idade: 63,
  nome: "Alan"
}, {
  idade: 40,
  nome: "Maria"
}, {
  idade: 29,
  nome: "Matheus"
}, {
  idade: 18,
  nome: "Pedro"
}]

Neste caso estamos ordenando os nomes em ordem alfabética, veja que passamos uma função anônima para sort

Que tem como objetivo retornar os nomes do “maior” para o “menor”, poderíamos inverter para ter em ordem decrescente ou mudar a propriedade

Veja como ordenar o mesmo array por idade e de forma decrescente:

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

console.log(pessoas);

O resultado será:

[{
  idade: 63,
  nome: "Alan"
}, {
  idade: 40,
  nome: "Maria"
}, {
  idade: 29,
  nome: "Matheus"
}, {
  idade: 18,
  nome: "Pedro"
}]

E para idade crescente:

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

console.log(pessoas);

Teremos o seguinte resultado:

[{
  idade: 18,
  nome: "Pedro"
}, {
  idade: 29,
  nome: "Matheus"
}, {
  idade: 40,
  nome: "Maria"
}, {
  idade: 63,
  nome: "Alan"
}]

Desta forma, não há limites de tipos de ordenação que você pode criar, basta simplesmente criar uma função que manipule os dados do jeito que você precisa

Outro ponto interessante é que sorte muda a estrutura original dos dados, ou seja, altera o valor da variável com base na ordenação

Se você deseja manter uma cópia original, crie outra variável com o valor antes da modificação por sort

Conclusão

Neste artigo aprendemos a ordenar um array de objetos em JavaScript

Utilizamos a função sort para realizar esta tarefa

Ela aceita uma função como parâmetro, que pode realizar uma ordenação customizada

Ou seja, podemos criar qualquer tipo de ordenação sem depender das que já existem no JavaScript

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x