List.Sort
Składnia
List.Sort(list as list, optional comparisonCriteria as any) as list
Informacje
Sortuje listę danych, list
zgodnie z określonymi opcjonalnymi kryteriami. Opcjonalny parametr , comparisonCriteria
można określić jako kryterium porównania. Może to przyjmować następujące wartości:
Aby kontrolować kolejność, kryterium porównania może być wartością wyliczeniową Order. (Order.Descending, Order.Ascending).
Aby obliczyć klucz używany do sortowania, można użyć funkcji 1 argumentu.
Aby wybrać zarówno klucz, jak i kolejność sterowania, kryterium porównania może być lista zawierająca klucz i kolejność (
{each 1 / _, Order.Descending}
).Aby całkowicie kontrolować porównanie, można użyć funkcji 2 argumentów. Ta funkcja zostanie przekazana dwa elementy z listy (wszystkie dwa elementy w dowolnej kolejności). Funkcja powinna zwrócić jedną z następujących wartości:
-1
: pierwszy element jest mniejszy niż drugi element.0
: Elementy są równe.1
: pierwszy element jest większy niż drugi element.
Value.Compare to metoda, która może służyć do delegowania tej logiki.
Przykład 1
Posortuj listę {2, 3, 1}.
Użycie
List.Sort({2, 3, 1})
Wyjście
{1, 2, 3}
Przykład 2
Posortuj listę {2, 3, 1} w kolejności malejącej.
Użycie
List.Sort({2, 3, 1}, Order.Descending)
Wyjście
{3, 2, 1}
Przykład 3
Posortuj listę {2, 3, 1} w kolejności malejącej przy użyciu metody Value.Compare .
Użycie
List.Sort({2, 3, 1}, (x, y) => Value.Compare(1/x, 1/y))
Wyjście
{3, 2, 1}