List.Sort
Sintaxe
List.Sort(list as list, optional comparisonCriteria as any) as list
Sobre
Classifica uma lista de dados, list
, de acordo com os critérios opcionais especificados. Um parâmetro opcional, comparisonCriteria
, pode ser especificado como o critério de comparação. Ele pode assumir os seguintes valores:
Para controlar a ordem, o critério de comparação pode ser um valor de enumeração de Ordem. (Order.Descending, Order.Ascending).
Para calcular uma chave a ser usada para classificação, uma função de um argumento pode ser usada.
Para selecionar uma ordem de chave e de controle, o critério de comparação pode ser uma lista que contém a chave e a ordem (
{each 1 / _, Order.Descending}
).Para controlar completamente a comparação, uma função de dois argumentos pode ser usada. Essa função passará dois itens da lista (quaisquer dois itens, em qualquer ordem). A função deve retornar um dos seguintes valores:
-1
: o primeiro item é menor que o segundo.0
: os itens são iguais.1
: o primeiro item é maior que o segundo.
Value.Compare é um método que pode ser usado para delegar essa lógica.
Exemplo 1
Classifique a lista {2, 3, 1}.
Usage
List.Sort({2, 3, 1})
Saída
{1, 2, 3}
Exemplo 2
Classifique a lista {2, 3, 1} em ordem decrescente.
Usage
List.Sort({2, 3, 1}, Order.Descending)
Saída
{3, 2, 1}
Exemplo 3
Classifique a lista {2, 3, 1} em ordem decrescente usando o método Value.Compare.
Usage
List.Sort({2, 3, 1}, (x, y) => Value.Compare(1/x, 1/y))
Saída
{3, 2, 1}