Compartilhar via


List.Sort

Sintaxe

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

Sobre

Classifica uma lista de dados, listde acordo com os critérios opcionais especificados. Um parâmetro opcional, comparisonCriteriapode ser especificado como o critério de comparação. Isso pode levar os seguintes valores:

  • Para controlar a ordem, o critério de comparação pode ser um valor de enumeração Order. (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 chave e uma ordem 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 será passada 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 item.
    • 0: os itens são iguais.
    • 1: o primeiro item é maior que o segundo item.

    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 Value.Compare método.

Usage

List.Sort({2, 3, 1}, (x, y) => Value.Compare(1/x, 1/y))

Saída

{3, 2, 1}