Freigeben über


List.Sort

Syntax

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

Info

Sortiert eine Liste (list) mit Daten gemäß den angegebenen Kriterien. Der optionale Parameter comparisonCriteria kann als Vergleichskriterium angegeben werden. Dieser kann einen die folgenden Werte verwenden:

  • Um die Reihenfolge zu steuern, kann das Vergleichskriterium ein Enumerationswert des Typs „Order“ sein. (Order.Descending, Order.Ascending).

  • Zum Berechnen eines Schlüssels für die Sortierung kann eine Funktion mit nur einem Argument verwendet werden.

  • Um sowohl einen Schlüssel auszuwählen als auch die Reihenfolge zu steuern, kann das Vergleichskriterium als Liste mit Schlüssel und Reihenfolge ({each 1 / _, Order.Descending}) angegeben werden.

  • Um den Vergleich vollständig zu steuern, kann eine Funktion mit zwei Argumenten verwendet werden. Dieser Funktion werden zwei Elemente aus der Liste übergeben (zwei beliebige Elemente in beliebiger Reihenfolge). Die Funktion soll einen der folgenden Werte zurückgeben:

    • -1: Das erste Element ist kleiner als das zweite Element.
    • 0: Die Elemente sind gleich.
    • 1: Das erste Element ist größer als das zweite Element.

    Value.Compare ist eine Methode, die zur Übertragung dieser Logik verwendet werden kann.

Beispiel 1

Sortiert die Liste {2, 3, 1}.

Verwendung

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

Ausgabe

{1, 2, 3}

Beispiel 2

Sortiert die Liste {2, 3, 1} in absteigender Reihenfolge.

Verwendung

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

Ausgabe

{3, 2, 1}

Beispiel 3

Sortiert die Liste {2, 3, 1} in absteigender Reihenfolge unter Verwendung der Value.Compare-Methode.

Verwendung

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

Ausgabe

{3, 2, 1}