JavaScript-programma om een ​​reeks objecten te sorteren op eigenschapswaarden

In dit voorbeeld leert u een JavaScript-programma te schrijven dat een reeks objecten op eigenschapswaarden sorteert.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende JavaScript-programmeeronderwerpen:

  • JavaScript-matrix sorteren ()
  • JavaScript-matrix
  • JavaScript-objecten

Voorbeeld 1: Sorteer matrix op eigenschapnaam

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

Uitvoer

 ((naam: "Jack", leeftijd: 25), (naam: "John", leeftijd: 24), (naam: "Sara", leeftijd: 24))

In het bovenstaande programma wordt de sort()methode gebruikt om een ​​array te sorteren op de eigenschap name van zijn objectelementen.

De sort()methode sorteert zijn elementen volgens de waarden die worden geretourneerd door een aangepaste sorteerfunctie (in dit geval vergelijkNaam).

Hier,

  • De eigenschapsnamen worden met de toUpperCase()methode gewijzigd in hoofdletters .
  • Als het vergelijken van twee namen resulteert in 1 , wordt hun volgorde gewijzigd.
  • Als het vergelijken van twee namen -1 of 0 oplevert , blijft hun volgorde ongewijzigd.

Voorbeeld 2: Sorteer matrix op ouderdom van eigenschap

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

Uitvoer

 ((naam: "John", leeftijd: 22), (naam: "Sara", leeftijd: 24), (naam: "Jack", leeftijd: 27))

In het bovenstaande programma wordt de sort()methode gebruikt om een ​​array-element te sorteren op de eigenschap age.

Om de ouderdomseigenschap van twee objecten te vergelijken, kunnen we ze eenvoudig aftrekken.

  • Als hun verschil een negatieve waarde is, wordt hun volgorde gewijzigd.
  • Als hun verschil een positieve waarde is, blijft de volgorde zoals ze is.

Interessante artikelen...