El método collection.sort( ) ordena los elementos de la colección de origen y devuelve igualemente una referencia a esta colección ordenada. Este método devuelve una copia superficial, lo que significa que los objetos o colecciones en ambas colecciones comparten la misma referencia.
Nota: este método modifica la colección original.
Si se llama a collection.sort( ) sin parámetros, solo se clasifican los valores escalares (número, texto, fecha, booleanos). Los elementos se ordenan por defecto en orden ascendente, de acuerdo con su tipo.
Si desea ordenar los elementos de la colección en otro orden u ordenar cualquier tipo de elemento, debe ofrecer en nomMet un método de comparación que compare dos valores y devuelva true en $1.result si el primer valor es menor que el segundo valor. Puede ofrecer parámetros adicionales a nomMet si es necesario.
- nomMet recibirá los siguientes parámetros:
- $1 (objeto), donde:
- $1.value (todo tipo): valor del primer elemento a ser comparado
- $1.value2 (todo tipo): valor del segundo elemento a ser comparado
- $2...$N (todo tipo): parámetros adicionales
- nomMet define el siguiente parámetro:
- $1.result (booleano): true si $1.value < $1.value2, de lo contrario false
Si la colección contiene elementos de diferentes tipos, primero se agrupan por tipo y se ordenan después. Los tipos se devuelven en el siguiente orden:
- null
- booleanos
- cadenas
- números
- objetos
- colecciones
- fechas
C_OBJECT($1)
$1.result:=String($1.value)<String($1.value2)