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

За да сравним възрастовото свойство на два обекта, можем просто да ги извадим.

  • Ако разликата им е отрицателна стойност, редът им се променя.
  • Ако разликата им е положителна стойност, поръчката се оставя такава, каквато е.

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