JavaScripti programm objektide massiivi sortimiseks atribuutide väärtuste järgi

Selles näites õpid kirjutama JavaScripti programmi, mis sorteerib objektide massiivi atribuutide väärtuste järgi.

Selle näite mõistmiseks peaksid teil olema teadmised järgmistest JavaScripti programmeerimise teemadest:

  • JavaScripti massiivi sort ()
  • JavaScripti massiiv
  • JavaScripti objektid

Näide 1: massiivi sortimine atribuudi nime järgi

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

Väljund

 ((nimi: "Jack", vanus: 25), (nimi: "John", vanus: 24), (nimi: "Sara", vanus: 24))

Ülaltoodud programmis kasutatakse sort()meetodit massiivi sortimiseks selle objektielementide nimeomaduste järgi.

sort()Meetod sorteerib oma elemendid vastavalt väärtuste tagastatud kohandatud omamoodi funktsioon (compareName antud juhul).

Siin,

  • Atribuutide nimed muudetakse toUpperCase()meetodi abil suurtähtedeks .
  • Kui kahe nime võrdlemisel saadakse 1 , siis nende järjestust muudetakse.
  • Kui kahe nime võrdlemisel saadakse -1 või 0 , siis nende järjestus jääb samaks.

Näide 2: massiivi sortimine vara vanuse järgi

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

Väljund

 ((nimi: "John", vanus: 22), (nimi: "Sara", vanus: 24), (nimi: "Jack", vanus: 27))

Ülaltoodud programmis kasutatakse sort()meetodit massiivi elemendi sortimiseks vanuse atribuudi järgi.

Kahe objekti vanuseomaduste võrdlemiseks võime need lihtsalt lahutada.

  • Kui nende erinevus on negatiivne väärtus, muudetakse nende järjekorda.
  • Kui nende erinevus on positiivne väärtus, jäetakse järjestus selliseks, nagu see on.

Huvitavad Artiklid...