Freigeben über


List.Sort

Syntax

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

About

Sortiert eine Liste von Daten gemäß listden angegebenen optionalen Kriterien. Ein optionaler Parameter comparisonCriteriakann als Vergleichskriterium angegeben werden. Dies kann die folgenden Werte annehmen:

  • Um die Reihenfolge zu steuern, kann das Vergleichskriterium ein Enumerationswert der Reihenfolge sein. (Order.Descending, Order.Ascending).

  • Zum Berechnen eines Schlüssels, der für die Sortierung verwendet werden soll, kann eine Funktion von 1 Argument verwendet werden.

  • Um sowohl einen Schlüssel als auch eine Kontrollreihenfolge auszuwählen, kann ein Vergleichskriterium eine Liste sein, die den Schlüssel und die Reihenfolge ({each 1 / _, Order.Descending}) enthält.

  • Um den Vergleich vollständig zu steuern, kann eine Funktion von 2 Argumenten verwendet werden. Diese Funktion wird zwei Elemente aus der Liste übergeben (beliebige zwei Elemente in beliebiger Reihenfolge). Die Funktion sollte 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 zum Delegieren dieser Logik verwendet werden kann.

Beispiel 1

Sortieren Sie die Liste {2, 3, 1}.

Verwendung

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

Output

{1, 2, 3}

Beispiel 2

Sortieren Sie die Liste "{2", "3", "1}" in absteigender Reihenfolge.

Verwendung

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

Output

{3, 2, 1}

Beispiel 3

Sortieren Sie die Liste "{2", "3", "1}" in absteigender Reihenfolge mithilfe der Value.Compare Methode.

Verwendung

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

Output

{3, 2, 1}