JavaScript-program til at sortere matrix af objekter efter ejendomsværdier

I dette eksempel lærer du at skrive et JavaScript-program, der sorterer en matrix af objekter efter egenskabsværdier.

For at forstå dette eksempel skal du have kendskab til følgende JavaScript-programmeringsemner:

  • JavaScript Array sort ()
  • JavaScript Array
  • JavaScript-objekter

Eksempel 1: Sorter matrix efter ejendomsnavn

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

Produktion

 ((navn: "Jack", alder: 25), (navn: "John", alder: 24), (navn: "Sara", alder: 24))

I ovennævnte program sort()bruges metoden til at sortere en matrix efter navnegenskaben for dens objektelementer.

Den sort()metode sorterer dens elementer i overensstemmelse med værdierne, der returneres af en brugerdefineret sortering funktion (compareName i dette tilfælde).

Her,

  • Ejendomsnavnene ændres til store bogstaver ved hjælp af toUpperCase()metoden.
  • Hvis sammenligning af to navne resulterer i 1 , ændres deres rækkefølge.
  • Hvis sammenligning af to navne resulterer i -1 eller 0 , efterlades deres rækkefølge som den er.

Eksempel 2: Sorter matrix efter ejendomsalder

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

Produktion

 ((navn: "John", alder: 22), (navn: "Sara", alder: 24), (navn: "Jack", alder: 27))

I ovenstående program sort()bruges metoden til at sortere et matrixelement efter aldersegenskaben.

For at sammenligne aldersegenskaben for to objekter kan vi simpelthen trække dem.

  • Hvis deres forskel er en negativ værdi, ændres deres rækkefølge.
  • Hvis deres forskel er en positiv værdi, efterlades rækkefølgen som den er.

Interessante artikler...