List.Sort
List.Sort(list as list, optional comparisonCriteria as any) as list
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. (Kolejność.Malejąco, Kolejność.Rosnąco).
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. Do tej funkcji zostaną przekazane dwa dowolne elementy z listy 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.
-
Posortuj listę {2, 3, 1}.
Użycie
List.Sort({2, 3, 1})
Wyjście
{1, 2, 3}
Posortuj listę {2, 3, 1} w kolejności malejącej.
Użycie
List.Sort({2, 3, 1}, Order.Descending)
Wyjście
{3, 2, 1}
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}