Програма 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.

Для порівняння вікової властивості двох об’єктів ми можемо просто відняти їх.

  • Якщо їх різниця від’ємна, їх порядок змінюється.
  • Якщо їх різниця є позитивним значенням, порядок залишається як є.

Цікаві статті...