Programa JavaScript para ordenar una matriz de objetos por valores de propiedad

En este ejemplo, aprenderá a escribir un programa JavaScript que ordenará una matriz de objetos por valores de propiedad.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de JavaScript:

  • Ordenación de matriz de JavaScript ()
  • Matriz de JavaScript
  • Objetos JavaScript

Ejemplo 1: ordenar matriz por nombre de propiedad

 // 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));

Salida

 ((nombre: "Jack", edad: 25), (nombre: "John", edad: 24), (nombre: "Sara", edad: 24))

En el programa anterior, el sort()método se usa para ordenar una matriz por la propiedad de nombre de sus elementos de objeto.

El sort()método ordena sus elementos de acuerdo con los valores devueltos por una función de ordenación personalizada (compareName en este caso).

Aquí,

  • Los nombres de las propiedades se cambian a mayúsculas mediante el toUpperCase()método.
  • Si comparar dos nombres da como resultado 1 , se cambia su orden.
  • Si comparar dos nombres da como resultado -1 o 0 , su orden se deja como está.

Ejemplo 2: ordenar matriz por antigüedad de la propiedad

 // 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));

Salida

 ((nombre: "John", edad: 22), (nombre: "Sara", edad: 24), (nombre: "Jack", edad: 27))

En el programa anterior, el sort()método se usa para ordenar un elemento de matriz por la propiedad de edad.

Para comparar la propiedad de edad de dos objetos, simplemente podemos restarlos.

  • Si su diferencia es un valor negativo, se cambia su orden.
  • Si su diferencia es un valor positivo, el orden se deja como está.

Articulos interesantes...