Como classificar matriz de objeto por propriedade em JavaScript

Como Classificar Matriz De Objeto Por Propriedade Em Javascript



A classificação é o conceito de organizar itens de uma maneira específica. Em JavaScript, classificar uma matriz tem uma importância significativa na organização de elementos em ordem crescente e decrescente. Por exemplo, o método array.sort() é utilizado para classificar um array com base nas propriedades do objeto.

O artigo demonstra como classificar uma matriz por propriedade de objeto em JavaScript. O conteúdo servido neste guia é o seguinte.







  • Como classificar matriz por propriedade de objeto em JavaScript
  • Exemplo 1: Classifique o array por ordem alfabética usando a propriedade Name em JavaScript
  • Exemplo 2: Classifique o array por ordem numérica usando a propriedade Age em JavaScript

Como classificar matriz por propriedade de objeto em JavaScript?

o array.sort() O método facilita a classificação dos elementos da matriz usando a função de retorno de chamada. A função de retorno de chamada itera sobre todos os elementos com base nas propriedades do objeto na matriz. O objetivo deste método é calcular todos os elementos cumprindo as condições definidas pelo usuário. Por padrão, o array.sort() O método retorna uma sequência crescente dos elementos na matriz existente.



Sintaxe



array.sort ( )


Observação : O método é empregado para classificar os elementos numéricos e alfabéticos.





Exemplo 1: Classifique o array por ordem alfabética usando a propriedade Name em JavaScript

Um exemplo é usado para realizar a classificação dos valores do array por meio da propriedade em JavaScript.

Código



console.log ( 'Um exemplo de array de classificação em JavaScript' ) ;
professores const = [
{ nome: 'John' , era: 30 } ,
{ nome: 'Peter' , era: 27 } ,
{ nome: 'Prumo' , era: 38 }
] ;

professores.sort ( ( x e y ) = > x.name.localeCompare ( s.nome ) ) ;
console.log ( professores ) ;


A explicação do código está listada abaixo:

  • Uma matriz ' professores ” é criado em que nome e era propriedades são armazenadas.
  • Um método ' localeComparar ” é adaptado para comparar o nome
  • o ordenar() é usado para chamar um “ localeCompare() ” para comparar o primeiro alfabeto do nome
  • Este método executa a iteração através de todos os elementos na matriz atual.
  • finalmente, o console.log() é utilizado para exibir os valores da propriedade name em ordem alfabética.


Resultado


A saída retorna a matriz classificada em ordem alfabética, como Bob, João, e Peter .

Exemplo 2: Classifique o array por ordem numérica usando a propriedade Age em JavaScript

Outro exemplo é seguido para realizar a classificação do array por meio das propriedades do objeto em JavaScript.

Código

console.log ( 'Um exemplo de array de classificação em JavaScript' ) ;
onde objAr = [
{ nome: 'John' , era: 30 } ,
{ nome: 'Peter' , era: 27 } ,
{ nome: 'Prumo' , era: 38 }
] ;
resultado =objAr.sort ( cmpAge ) ;
função cmpAge ( a, b )
{
Retorna a.idade - b.idade;
}
console.log ( resultado ) ;


Neste código:

  • Uma matriz objAr é criado em que nome e era propriedades são armazenadas.
  • Depois disso, um método chamado cmpAge é usado para comparar era
  • Além disso, o ordenar() método é utilizado para chamar o cmpAge() método para comparar o era
  • O método avalia todos os valores da era propriedade na matriz.
  • No final, o console.log() é empregado para exibir a propriedade age em ordem crescente.


Resultado


A saída mostra a matriz classificada usando o era propriedade em JavaScript.

Conclusão

Em JavaScript, o método embutido array.sort() é empregado para classificar uma matriz acessando suas propriedades. O método utiliza a função de retorno de chamada para realizar iterações por meio de todos os elementos da matriz existente. Dois exemplos são demonstrados para classificar a matriz por alfabético assim como numérico ordem. Portanto, você precisa entender como classificar uma matriz pelas propriedades dos objetos. Além disso, todos os navegadores famosos suportam o array.sort() método de JavaScript .