List.Sort

Sintaxis

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

Acerca de

Ordena una lista de datos, list, según los criterios opcionales especificados. Se puede especificar un parámetro opcional, comparisonCriteria, como criterio de comparación. Puede tomar uno de los valores siguientes:

  • Para controlar el orden, el criterio de comparación puede ser un valor de enumeración de Orden. (Order.Descending, Order.Ascending).

  • Para calcular una clave que se va a usar para la ordenación, se puede usar una función de un argumento.

  • Para seleccionar una clave y un orden de control, el criterio de comparación puede ser una lista que contenga la clave y el orden ({each 1 / _, Order.Descending}).

  • Para controlar completamente la comparación, se puede usar una función de 2 argumentos. A esta función se le pasarán dos elementos de la lista (dos elementos cualquiera, en cualquier orden). La función debe devolver uno de los siguientes valores:

    • -1: el primer elemento es menor que el segundo.
    • 0: los elementos son iguales.
    • 1: el primer elemento es mayor que el segundo.

    Value.Compare es un método que se puede usar para delegar esta lógica.

Ejemplo 1

Ordenar la lista {2, 3, 1}.

Uso

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

Salida

{1, 2, 3}

Ejemplo 2

Ordenar la lista {2, 3, 1} en orden descendente.

Uso

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

Salida

{3, 2, 1}

Ejemplo 3

Ordenar la lista {2, 3, 1} en orden descendente mediante el método Value.Compare.

Uso

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

Salida

{3, 2, 1}