JavaScript Array toSorted()

Ορισμός και χρήση

toSorted() Η μέθοδος ταξινόμηση των στοιχείων του συνόλου κατά αλφαβητική σειρά.

toSorted() Η μέθοδος επιστρέφει ένα νέο σύνολο.

toSorted() Η μέθοδος δεν καλύπτει το αρχικό σύνολο.

toSorted() Η μέθοδος είναι sort() Αντιγραφή της μεθόδου.

Δείτε επίσης:

Μέθοδος sort() του Array

Μέθοδος reverse() του Array

Λειτουργία σύγκρισης σειράς

Η σειρά αλφαβητική είναι καλή για τις αλφαβητικές ακολουθίες ("Apple" προηγείται του "Banana").

Ωστόσο, η σειρά αριθμών μπορεί να προκαλέσει λανθασμένα αποτελέσματα.

"25" είναι μεγαλύτερο από "100", επειδή το "2" είναι μεγαλύτερο από το "1".

Το πρόβλημα αυτό μπορεί να λυθεί παρέχοντας "λειτουργία σύγκρισης" (βλέπε παρακάτω παράδειγμα).

Παράδειγμα

Παράδειγμα 1

// δημιουργία πίνακα
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// ταξινόμηση πίνακα
const fruits2 = fruits.toSorted();

δοκιμάστε το προσωπικά

Παράδειγμα 2

Αντίστροφη σειρά μετά τη σειρά

// δημιουργία πίνακα
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// ταξινόμηση πίνακα
const fruits2 = fruits.toSorted();
// Επιστροφή της σειράς
fruits2.reverse();

δοκιμάστε το προσωπικά

παράδειγμα 3

ταξινόμηση αριθμών σε αύξηση με τη χρήση συνάρτησης ταξινόμησης:

// δημιουργία πίνακα
const points = [40, 100, 1, 5, 25, 10];
// ταξινόμηση πίνακα
let points2 = points.toSorted(function(a, b){return a - b});

δοκιμάστε το προσωπικά

παράδειγμα 4

ταξινόμηση αριθμών σε μείωση:

// δημιουργία πίνακα
const points = [40, 100, 1, 5, 25, 10];
// ταξινόμηση πίνακα
let points2 = points.toSorted(function(a, b){return b - a});

δοκιμάστε το προσωπικά

παράδειγμα 5

εύρεση μικρότερης τιμής:

// δημιουργία πίνακα
const points = [40, 100, 1, 5, 25, 10];
// ταξινόμηση αριθμών σε αύξηση
let points2 = points.toSorted(function(a, b){return a - b});
let lowest = points2[0];

δοκιμάστε το προσωπικά

παράδειγμα 6

εύρεση μεγαλύτερης τιμής:

// δημιουργία πίνακα
const points = [40, 100, 1, 5, 25, 10];
// ταξινόμηση αριθμών σε μείωση
let points2 = points.toSorted(function(a, b){return b - a});
let highest = points2[0];

δοκιμάστε το προσωπικά

παράδειγμα 7

εύρεση μεγαλύτερης τιμής:

// δημιουργία πίνακα
const points = [40, 100, 1, 5, 25, 10];
// ταξινόμηση αριθμών σε αύξηση
let points2 = points.toSorted(function(a, b){return a - b});
let highest = points2[points.length - 1];

δοκιμάστε το προσωπικά

σύνταξη

array.sort(compareFunction)

παράμετροι

παράμετροι περιγραφή
compareFunction

προαιρετική. Η συνάρτηση που καθορίζει τη σειρά ταξινόμησης. Η συνάρτηση πρέπει να επιστρέφει υποθετική τιμή, μηδέν ή θετική τιμή ως προς τους παραμέτρους:

function(a, b){return a-b}

Όταν το sort() συγκρίνει δύο τιμές, στέλνει αυτές τις τιμές στη συνάρτηση σύγκρισης και ταξινομεί τις τιμές ανάλογα με την επιστροφή (υποθετική τιμή, μηδέν, θετική τιμή).

Παράδειγμα:

Η συνάρτηση ταξινόμησης θεωρεί την τιμή 40 ως μικρότερη από την τιμή 100.

Παράδειγμα: όταν το sort() συγκρίνει τις τιμές 40 και 100, καλεί τη συνάρτηση function(40, 100).

καταμέτρηση των τιμών 40 - 100 και επιστροφή -60 (υποθετική τιμή).

αποτελεσματική τιμή

τύπος περιγραφή
Πίνακας νέος πίνακας μετά την ταξινόμηση.

υποστήριξη του προγράμματος περιήγησης

toSorted() είναι χαρακτηριστικό του ES2023.

Από τον Ιούλιο του 2023, όλα τα σύγχρονα προγράμματα περιήγησης υποστηρίζουν αυτή τη μέθοδο:

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
Φεβρουάριος 2023 Φεβρουάριος 2023 Ιούλιος 2023 Μάρτιος 2023 Μάιος 2023