Программа на JavaScript для сортировки массива объектов по значениям свойств

В этом примере вы научитесь писать программу на JavaScript, которая будет сортировать массив объектов по значениям свойств.

Чтобы понять этот пример, вы должны знать следующие темы программирования JavaScript:

  • Сортировка массива JavaScript ()
  • Массив JavaScript
  • Объекты JavaScript

Пример 1. Сортировка массива по имени свойства

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

Вывод

 ((имя: «Джек», возраст: 25), (имя: «Джон», возраст: 24), (имя: «Сара», возраст: 24))

В приведенной выше программе sort()метод используется для сортировки массива по свойству name его элементов объекта.

sort()Метод сортирует свои элементы в соответствии со значениями , возвращаемые пользовательской функцией сортировки (compareName в данном случае).

Вот,

  • Имена свойств изменяются на верхний регистр с помощью этого toUpperCase()метода.
  • Если сравнение двух имен приводит к 1 , то их порядок меняется.
  • Если сравнение двух имен приводит к -1 или 0 , то их порядок остается неизменным.

Пример 2: Сортировка массива по возрасту собственности

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

Вывод

 ((имя: «Джон», возраст: 22), (имя: «Сара», возраст: 24), (имя: «Джек», возраст: 27))

В приведенной выше программе этот sort()метод используется для сортировки элемента массива по свойству age.

Чтобы сравнить свойство возраста двух объектов, мы можем просто вычесть их.

  • Если их разница отрицательная, их порядок меняется.
  • Если их разница положительная, порядок остается неизменным.

Интересные статьи...