JavaScript programma objektu masīva kārtošanai pēc īpašuma vērtībām

Šajā piemērā jūs iemācīsities rakstīt JavaScript programmu, kas kārtos objektu masīvu pēc rekvizītu vērtībām.

Lai saprastu šo piemēru, jums jāpārzina šādas JavaScript programmēšanas tēmas:

  • JavaScript masīva kārtošana ()
  • JavaScript masīvs
  • JavaScript objekti

1. piemērs: Kārtojiet masīvu pēc īpašuma nosaukuma

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

Rezultāts

 ((vārds: "Džeks", vecums: 25), (vārds: "Džons", vecums: 24), (vārds: "Sāra", vecums: 24))

Iepriekš minētajā programmā sort()metodi izmanto, lai kārtotu masīvu pēc tā objekta elementu rekvizīta nosaukuma.

sort()Metode sakārto savus elementus saskaņā ar atgriezto vērtību ar pasūtījuma šķirošanas funkcija (compareName šajā gadījumā).

Šeit,

  • Izmantojot toUpperCase()metodi, rekvizītu nosaukumi tiek mainīti uz lielajiem burtiem .
  • Ja salīdzinot divus nosaukumus, tiek iegūts rezultāts 1 , tad to secība tiek mainīta.
  • Ja salīdzinot divus nosaukumus, tiek iegūts -1 vai 0 , tad to secība tiek atstāta tāda, kāda tā ir.

2. piemērs: Kārtot masīvu pēc īpašuma vecuma

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

Rezultāts

 ((vārds: "Jānis", vecums: 22), (vārds: "Sara", vecums: 24), (vārds: "Džeks", vecums: 27))

Iepriekš minētajā programmā sort()metodi izmanto, lai kārtotu masīva elementu pēc vecuma rekvizīta.

Lai salīdzinātu divu objektu vecuma īpašības, mēs tos varam vienkārši atņemt.

  • Ja to starpība ir negatīva vērtība, to secība tiek mainīta.
  • Ja to starpība ir pozitīva vērtība, pasūtījums tiek atstāts tāds, kāds tas ir.

Interesanti raksti...