JavaScript-program for å sortere Array of Objects etter eiendomsverdier

I dette eksemplet lærer du å skrive et JavaScript-program som vil sortere en rekke objekter etter eiendomsverdier.

For å forstå dette eksemplet, bør du ha kunnskap om følgende JavaScript-programmeringsemner:

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

Eksempel 1: Sorter matrise etter eiendomsnavn

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

Produksjon

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

I programmet ovenfor sort()brukes metoden til å sortere en matrise etter navnegenskapen til objektelementene.

Den sort()metode sorterer dens elementer i henhold til verdiene som returneres av en tilpasset sorteringsfunksjon (compareName i dette tilfelle).

Her,

  • Eiendomsnavnene endres til store bokstaver ved hjelp av toUpperCase()metoden.
  • Hvis sammenligning av to navn resulterer i 1 , endres rekkefølgen deres.
  • Hvis sammenligning av to navn resulterer i -1 eller 0 , blir rekkefølgen deres igjen som den er.

Eksempel 2: Sorter matrise etter eiendomsalder

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

Produksjon

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

I programmet ovenfor sort()brukes metoden til å sortere et matriseelement etter aldersegenskapen.

For å sammenligne aldersegenskapen til to objekter, kan vi bare trekke dem fra.

  • Hvis forskjellen deres er en negativ verdi, endres ordren.
  • Hvis forskjellen deres er en positiv verdi, blir ordren igjen som den er.

Interessante artikler...