JavaScript program za sortiranje niza objekata prema vrijednostima svojstava

U ovom ćete primjeru naučiti pisati JavaScript program koji će sortirati niz objekata po vrijednostima svojstava.

Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja JavaScript:

  • Razvrstavanje JavaScript niza ()
  • JavaScript niz
  • JavaScript objekti

Primjer 1: Poredaj niz po nazivu svojstva

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

Izlaz

 ((ime: "Jack", dob: 25), (ime: "John", dob: 24), (ime: "Sara", dob: 24))

U gornjem programu sort()metoda se koristi za sortiranje niza po svojstvu imena njegovih objektnih elemenata.

sort()Metoda sortira svoje elemente prema vrijednostima vratio običaj sortiranja funkciju (compareName u ovom slučaju).

Ovdje,

  • Nazivi svojstava mijenjaju se u velika slova pomoću toUpperCase()metode.
  • Ako usporedba dva imena rezultira s 1 , tada se njihov redoslijed mijenja.
  • Ako usporedba dva imena rezultira -1 ili 0 , njihov redoslijed ostaje nepromijenjen.

Primjer 2: Poredaj niz prema dobi svojstva

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

Izlaz

 ((ime: "John", dob: 22), (ime: "Sara", dob: 24), (ime: "Jack", dob: 27))

U gornjem programu sort()metoda se koristi za sortiranje elementa niza po svojstvu age.

Da bismo usporedili dobno svojstvo dvaju predmeta, možemo ih jednostavno oduzeti.

  • Ako je njihova razlika negativna vrijednost, njihov redoslijed se mijenja.
  • Ako je njihova razlika pozitivna vrijednost, redoslijed ostaje nepromijenjen.

Zanimljivi članci...