Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v19.8
collection.sort( )

collection.sort( ) 


 

collection.sort ( {nomMet {; extraParam}{; extraParam2 ; ... ; extraParamN}} ) -> Resultado 
Parámetro Tipo   Descripción
nomMet  Texto in Nombre del método utilizado para especificar el orden de clasificación
extraParam  Expresión in Parámetro(s) para el método
Resultado  Collection in 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.

  • 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:

  1. null
  2. booleanos
  3. cadenas
  4. números
  5. objetos
  6. colecciones
  7. fechas

 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)



Ver también 

collection.orderBy( )
collection.orderByMethod( )

 
PROPIEDADES 

Producto: 4D
Tema: Colecciones
Número 805259

This command can be run in preemptive processes

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v16 R6

 
ARTICLE USAGE

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)