Čítať v angličtine

Zdieľať cez


List.Sort

Syntax

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

Informácie

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.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.

Príklad č. 1

Zoraďte zoznam {2, 3, 1}.

Použitie

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

Výkon

{1, 2, 3}

Príklad č. 2

Zoraďte zoznam {2, 3, 1} v zostupnom poradí.

Použitie

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

Výkon

{3, 2, 1}

Príklad č. 3

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}