Przejdź do głównej zawartości

List.Sort

Sortuje listę danych zgodnie z określonymi kryteriami.

Syntax

List.Sort(
list as list,
optional comparisonCriteria as any
) as list

Remarks

Sortuje listę danych list zgodnie z określonymi opcjonalnymi kryteriami. Opcjonalny parametr comparisonCriteria można określić jako operator porównania. Ten parametr może mieć następujące wartości:

  • Aby kontrolować kolejność, można jako kryterium porównania użyć wartości wyliczenia Order. (Order.Descending, Order.Ascending).
  • Aby obliczyć klucz, który będzie używany na potrzeby sortowania, można użyć argumentu o wartości 1.
  • Aby wybrać klucz i sterować kolejnością, można użyć kryterium porównania w postaci listy zawierającej 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 z listy dwoma elementami (dowolne 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órej można użyć do delegowania tej logiki.

Examples

Example #1

Posortuj listę {2, 3, 1}.

List.Sort({2, 3, 1})

Result:

{1, 2, 3}

Example #2

Posortuj listę {2, 3, 1} w kolejności malejącej.

List.Sort({2, 3, 1}, Order.Descending)

Result:

{3, 2, 1}

Example #3

Posortuj listę {2, 3, 1} w kolejności malejącej, używając metody Value.Compare.

List.Sort({2, 3, 1}, (x, y) => Value.Compare(1/x, 1/y))

Result:

{3, 2, 1}

Category

List.Ordering