Î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.