JavaScript-ohjelma lajitella objektijoukko omaisuusarvojen mukaan

Tässä esimerkissä opit kirjoittamaan JavaScript-ohjelman, joka lajittelee joukko objekteja ominaisuusarvojen mukaan.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista JavaScript-ohjelmoinnin aiheista:

  • JavaScript-taulukon lajittelu ()
  • JavaScript-taulukko
  • JavaScript-objektit

Esimerkki 1: Lajittele taulukko ominaisuuden nimen mukaan

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

Tuotos

 ((nimi: "Jack", ikä: 25), (nimi: "John", ikä: 24), (nimi: "Sara", ikä: 24))

Edellä olevassa ohjelmassa sort()menetelmää käytetään lajittelemaan taulukko sen objektielementtien nimiominaisuuden mukaan.

sort()Menetelmä lajittelee mukainen elementtien arvojen palautetaan mukautetun lajittelu (compareName tässä tapauksessa).

Tässä,

  • Ominaisuuden nimet vaihdetaan isoihin kirjaimiin toUpperCase()menetelmällä.
  • Jos verrataan kahta nimiä tuloksia 1 , niin niiden järjestys on muuttunut.
  • Jos vertaamalla kahta nimeä saadaan -1 tai 0 , niiden järjestys jätetään sellaisenaan.

Esimerkki 2: Lajittele taulukko omaisuuden iän mukaan

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

Tuotos

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

Edellä olevassa ohjelmassa sort()menetelmää käytetään lajittelemaan taulukkoelementti ikäominaisuuden mukaan.

Kahden objektin ikäominaisuuden vertaamiseksi voimme yksinkertaisesti vähentää ne.

  • Jos niiden ero on negatiivinen arvo, niiden järjestystä muutetaan.
  • Jos niiden ero on positiivinen arvo, järjestys jätetään sellaisenaan.

Mielenkiintoisia artikkeleita...