List.Sort
Syntax
List.Sort(list as list, optional comparisonCriteria as any) as list
O
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.DescendingOrder.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.
-
Príklad č. 1
Zoraďte zoznam {2, 3, 1}.
používania
List.Sort({2, 3, 1})
výstupu
{1, 2, 3}
Príklad č. 2
Zoraďte zoznam {2, 3, 1} v zostupnom poradí.
používania
List.Sort({2, 3, 1}, Order.Descending)
výstupu
{3, 2, 1}
Príklad č. 3
Zoraďte zoznam {2, 3, 1} v zostupnom poradí pomocou metódy Value.Compare.
používania
List.Sort({2, 3, 1}, (x, y) => Value.Compare(1/x, 1/y))
výstupu
{3, 2, 1}