Πρόγραμμα JavaScript για ταξινόμηση σειράς αντικειμένων κατά τιμές ιδιοτήτων

Σε αυτό το παράδειγμα, θα μάθετε να γράφετε ένα πρόγραμμα JavaScript που θα ταξινομεί μια σειρά αντικειμένων ανά τιμές ιδιοτήτων.

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες ενότητες προγραμματισμού JavaScript:

  • Ταξινόμηση Array JavaScript ()
  • Πίνακας JavaScript
  • Αντικείμενα JavaScript

Παράδειγμα 1: Ταξινόμηση συστοιχίας κατά όνομα ιδιοκτησίας

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

Παραγωγή

 ((όνομα: "Jack", ηλικία: 25), (όνομα: "John", ηλικία: 24), (όνομα: "Sara", ηλικία: 24))

Στο παραπάνω πρόγραμμα, η sort()μέθοδος χρησιμοποιείται για την ταξινόμηση ενός πίνακα με την ιδιότητα ονόματος των στοιχείων αντικειμένου του.

Η sort()μέθοδος ταξινομεί τα στοιχεία της σύμφωνα με τις τιμές που επιστρέφονται από μια συνάρτηση προσαρμοσμένης ταξινόμησης (σύγκρισηName σε αυτήν την περίπτωση).

Εδώ,

  • Τα ονόματα των ιδιοτήτων αλλάζονται σε κεφαλαία χρησιμοποιώντας τη toUpperCase()μέθοδο.
  • Αν συγκρίνετε δύο ονόματα με αποτέλεσμα 1 , τότε η σειρά τους αλλάζει.
  • Εάν η σύγκριση δύο ονομάτων έχει ως αποτέλεσμα -1 ή 0 , τότε η σειρά τους παραμένει ως έχει.

Παράδειγμα 2: Ταξινόμηση σειράς ανά ηλικία ιδιοκτησίας

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

Παραγωγή

 ((όνομα: "John", ηλικία: 22), (όνομα: "Sara", ηλικία: 24), (όνομα: "Jack", ηλικία: 27))

Στο παραπάνω πρόγραμμα, η sort()μέθοδος χρησιμοποιείται για την ταξινόμηση ενός στοιχείου πίνακα από την ιδιότητα ηλικίας.

Για να συγκρίνουμε την ηλικιακή ιδιότητα δύο αντικειμένων, μπορούμε απλά να τα αφαιρέσουμε.

  • Εάν η διαφορά τους είναι αρνητική τιμή, η σειρά τους αλλάζει.
  • Εάν η διαφορά τους είναι θετική τιμή, η παραγγελία παραμένει ως έχει.

ενδιαφέροντα άρθρα...