Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
collection.sort( )
|
collection.sort ( {nomMet {; extraParam}{; extraParam2 ; ... ; extraParamN}} ) -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
nomMet | Texto |
![]() |
Nombre del método utilizado para especificar el orden de clasificación | |||||
extraParam | Expresión |
![]() |
Parámetro(s) para el método | |||||
Resultado | Collection |
![]() |
Copia ordenada de la colección (copia superficial) | |||||
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.
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:
C_COLLECTION($col)
$col:=New collection("Tom";5;"Mary";3;"Henry";1;"Jane";4;"Artie";6;"Chip";2)
$col2:=$col.sort() // $col2=["Artie","Chip","Henry","Jane","Mary","Tom",1,2,3,4,5,6]
// $col=["Artie","Chip","Henry","Jane","Mary","Tom",1,2,3,4,5,6]
C_COLLECTION($col)
$col:=New collection(10;20)
$col2:=$col.push(5;3;1;4;6;2).sort() //$col2=[1,2,3,4,5,6,10,20]
C_COLLECTION($col)
$col:=New collection(33;4;66;1111;222)
$col2:=$col.sort() //orden numérico: [4,33,66,222,1111]
$col3:=$col.sort("numberOrder") //orden alfabético: [1111,222,33,4,66]
//Método proyecto numberOrder
C_OBJECT($1)
$1.result:=String($1.value)<String($1.value2)
Producto: 4D
Tema: Colecciones
Número
805259
Creado por: 4D v16 R6
Manual de lenguaje 4D ( 4D v19)
Manual de lenguaje 4D ( 4D v19.1)
Manual de lenguaje 4D ( 4D v19.4)
Manual de lenguaje 4D ( 4D v19.5)
Manual de lenguaje 4D ( 4D v19.6)
Manual de lenguaje 4D ( 4D v19.7)
Manual de lenguaje 4D ( 4D v19.8)