Program JavaScript do sortowania tablicy obiektów według wartości właściwości

W tym przykładzie nauczysz się pisać program JavaScript, który będzie sortował tablicę obiektów według wartości właściwości.

Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania JavaScript:

  • JavaScript Array sort ()
  • JavaScript Array
  • Obiekty JavaScript

Przykład 1: Sortuj tablicę według nazwy właściwości

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

Wynik

 ((imię: „Jack”, wiek: 25), (imię: „John”, wiek: 24), (imię: „Sara”, wiek: 24))

W powyższym programie sort()metoda służy do sortowania tablicy według właściwości name jej elementów obiektowych.

sort()Sposób jego elementy sortowane w zależności od wartości zwróconych przez funkcję zwyczaj sortowania (compareName w tym przypadku).

Tutaj,

  • Nazwy właściwości są zamieniane na wielkie litery przy użyciu toUpperCase()metody.
  • Jeśli porównanie dwóch nazw daje 1 , to ich kolejność ulega zmianie.
  • Jeśli porównanie dwóch nazw daje wynik -1 lub 0 , to ich kolejność pozostaje niezmieniona.

Przykład 2: Sortuj tablicę według wieku właściwości

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

Wynik

 ((imię: „John”, wiek: 22), (imię: „Sara”, wiek: 24), (imię: „Jack”, wiek: 27))

W powyższym programie sort()metoda służy do sortowania elementu tablicy według właściwości age.

Aby porównać właściwość age dwóch obiektów, możemy je po prostu odjąć.

  • Jeśli ich różnica jest wartością ujemną, ich kolejność ulega zmianie.
  • Jeśli ich różnica jest wartością dodatnią, kolejność pozostaje bez zmian.

Interesujące artykuły...