List.Sort
List.Sort(list as list, optional comparisonCriteria as any) as list
Ταξινομεί μια λίστα δεδομένων, list
, σύμφωνα με τα προαιρετικά κριτήρια που καθορίζονται. Μια προαιρετική παράμετρος, comparisonCriteria
, μπορεί να καθοριστεί ως κριτήριο σύγκρισης. Αυτό μπορεί να λάβει τις ακόλουθες τιμές:
Για τον έλεγχο της σειράς, το κριτήριο σύγκρισης μπορεί να είναι μια τιμή απαρίθμησης Order. (Order.Descending, Order.Ascending).
Για να υπολογίσετε ένα κλειδί που θα χρησιμοποιηθεί για ταξινόμηση, μπορεί να χρησιμοποιηθεί μια συνάρτηση 1 ορίσματος.
Για να επιλέξετε ένα κλειδί και μια σειρά ελέγχου, το κριτήριο σύγκρισης μπορεί να είναι μια λίστα που περιέχει το κλειδί και τη σειρά (
{each 1 / _, Order.Descending}
).Για να ελέγξετε πλήρως τη σύγκριση, μπορεί να χρησιμοποιηθεί μια συνάρτηση 2 ορισμάτων. Αυτή η συνάρτηση θα διαβιβαστεί δύο στοιχεία από τη λίστα (οποιαδήποτε δύο στοιχεία, σε οποιαδήποτε σειρά). Η συνάρτηση θα πρέπει να επιστρέψει μία από τις παρακάτω τιμές:
-1
: Το πρώτο στοιχείο είναι μικρότερο από το δεύτερο στοιχείο.0
: Τα στοιχεία είναι ίσα.1
: Το πρώτο στοιχείο είναι μεγαλύτερο από το δεύτερο στοιχείο.
Η Value.Compare είναι μια μέθοδος που μπορεί να χρησιμοποιηθεί για την ανάθεση αυτής της λογικής.
Ταξινομήστε τη λίστα {2, 3, 1}.
Χρήση
List.Sort({2, 3, 1})
Έξοδος
{1, 2, 3}
Ταξινομήστε τη λίστα {2, 3, 1} σε φθίνουσα σειρά.
Χρήση
List.Sort({2, 3, 1}, Order.Descending)
Έξοδος
{3, 2, 1}
Ταξινομήστε τη λίστα {2, 3, 1} σε φθίνουσα σειρά χρησιμοποιώντας τη μέθοδο Value.Compare .
Χρήση
List.Sort({2, 3, 1}, (x, y) => Value.Compare(1/x, 1/y))
Έξοδος
{3, 2, 1}