Program JavaScript pentru a sorta matricea obiectelor după valorile proprietății

În acest exemplu, veți învăța să scrieți un program JavaScript care va sorta o serie de obiecte după valorile proprietății.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele despre următoarele subiecte de programare JavaScript:

  • Sortare matrice JavaScript ()
  • Matrice JavaScript
  • Obiecte JavaScript

Exemplul 1: Sortează matricea după numele proprietății

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

Ieșire

 ((nume: "Jack", vârstă: 25), (nume: "John", vârstă: 24), (nume: "Sara", vârstă: 24))

În programul de mai sus, sort()metoda este utilizată pentru a sorta o matrice după proprietatea nume a elementelor sale de obiect.

sort()Metoda ordonează elementele sale în conformitate cu valorile returnate de o funcție de sortare particularizată (compareName în acest caz).

Aici,

  • Numele proprietăților sunt schimbate în majuscule folosind toUpperCase()metoda.
  • Dacă comparați două nume rezultă 1 , atunci ordinea lor este modificată.
  • Dacă comparați două nume rezultă -1 sau 0 , atunci ordinea lor este lăsată așa cum este.

Exemplul 2: Sortează matricea după vârsta proprietății

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

Ieșire

 ((nume: "John", vârstă: 22), (nume: "Sara", vârstă: 24), (nume: "Jack", vârstă: 27))

În programul de mai sus, sort()metoda este utilizată pentru a sorta un element matrice după proprietatea age.

Pentru a compara proprietatea de vârstă a două obiecte, le putem pur și simplu scădea.

  • Dacă diferența lor este o valoare negativă, ordinea lor este modificată.
  • Dacă diferența lor este o valoare pozitivă, ordinea este lăsată așa cum este.

Articole interesante...