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}