Compartilhar via


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}