Zdieľať cez


List.Sort

Syntax

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

O

Zoradí zoznam údajov listpodľ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}