Programa JavaScript para classificar a matriz de objetos por valores de propriedade

Neste exemplo, você aprenderá a escrever um programa JavaScript que classificará uma matriz de objetos por valores de propriedade.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação JavaScript:

  • Array sort ()
  • Array JavaScript
  • Objetos JavaScript

Exemplo 1: Classificar matriz por nome de propriedade

 // program to sort array by property name function compareName(a, b) ( // converting to uppercase to have case-insensitive comparison const name1 = a.name.toUpperCase(); const name2 = b.name.toUpperCase(); let comparison = 0; if (name1> name2) ( comparison = 1; ) else if (name1 < name2) ( comparison = -1; ) return comparison; ) const students = ((name: 'Sara', age:24),(name: 'John', age:24), (name: 'Jack', age:25)); console.log(students.sort(compareName));

Resultado

 ((nome: "Jack", idade: 25), (nome: "John", idade: 24), (nome: "Sara", idade: 24))

No programa acima, o sort()método é usado para classificar um array pela propriedade name de seus elementos de objeto.

O sort()método classifica seus elementos de acordo com os valores retornados por uma função de classificação personalizada (compareName neste caso).

Aqui,

  • Os nomes das propriedades são alterados para maiúsculas usando o toUpperCase()método.
  • Se comparar dois nomes resultar em 1 , sua ordem será alterada.
  • Se a comparação de dois nomes resultar em -1 ou 0 , a ordem será deixada como está.

Exemplo 2: Classificar Matriz por Idade da Propriedade

 // program to sort array by property name function compareAge(a, b) ( return a.age - b.age; ) const students = ((name: 'Sara', age:24),(name: 'John', age:22), (name: 'Jack', age:27)); console.log(students.sort(compareAge));

Resultado

 ((nome: "John", idade: 22), (nome: "Sara", idade: 24), (nome: "Jack", idade: 27))

No programa acima, o sort()método é usado para classificar um elemento da matriz pela propriedade age.

Para comparar a propriedade de idade de dois objetos, podemos simplesmente subtraí-los.

  • Se a diferença for um valor negativo, sua ordem será alterada.
  • Se a diferença for um valor positivo, a ordem será deixada como está.

Artigos interessantes...