List.Sort
List.Sort(list as list, optional comparisonCriteria as any) as list
Zoradí zoznam údajov list
podľa stanovených voliteľných kritérií. Ako kritérium porovnania možno zadať voliteľný parameter comparisonCriteria
. Môžu sa použiť nasledujúce hodnoty:
Ak chcete ovládať poradie, kritériom porovnania môže byť hodnota enumu Order. (Order.Descending, Order.Ascending).
Na výpočet kľúča, ktorý sa má použiť na zoradenie, možno použiť funkciu s 1 argumentom.
Ak chcete vybrať kľúč aj ovládať poradie, kritériom porovnania môže byť zoznam obsahujúci kľúč a poradie (
{each 1 / _, Order.Descending}
).Ak chcete úplne ovládať porovnanie, možno použiť funkciu s 2 argumentmi. Táto funkcia odovzdá dve položky zo zoznamu (akékoľvek dve položky v ľubovoľnom poradí). Funkcia by mala vrátiť jednu z nasledujúcich hodnôt:
-1
: Prvá položka je menšia ako druhá položka.0
: Položky sa rovnajú.1
: Prvá položka je väčšia ako druhá položka.
Value.Compare je metóda, ktorá sa dá použiť na delegovanie tejto logiky.
Zoraďte zoznam {2, 3, 1}.
Použitie
List.Sort({2, 3, 1})
Výkon
{1, 2, 3}
Zoraďte zoznam {2, 3, 1} v zostupnom poradí.
Použitie
List.Sort({2, 3, 1}, Order.Descending)
Výkon
{3, 2, 1}
Zoraďte zoznam {2, 3, 1} v zostupnom poradí pomocou metódy Value.Compare .
Použitie
List.Sort({2, 3, 1}, (x, y) => Value.Compare(1/x, 1/y))
Výkon
{3, 2, 1}