Udostępnij za pośrednictwem


List.Sort

Składnia

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

Informacje

Sortuje listę danych, listzgodnie z określonymi opcjonalnymi kryteriami. Opcjonalny parametr , comparisonCriteriamoż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}