Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com

Accueil

 
4D v19.8
collection.sort( )

collection.sort( ) 


 

collection.sort ( {nomMéthode {; extraParam}{; extraParam2 ; ... ; extraParamN}} ) -> Résultat 
Paramètre Type   Description
nomMéthode  Texte in Nom de la méthode utilisée pour trier la collection
extraParam  Expression in Paramètre(s) pour la méthode
Résultat  Collection in Collection originale triée

La méthode collection.sort( ) trie les éléments de la collection d'origine et retourne également une référence vers cette collection triée.

Note : Cette méthode modifie la collection d'origine.

Si collection.sort( ) est appelée sans paramètres, seules les valeurs scalaires (nombres, textes, dates, booléens) sont triées. Les éléments sont triés par défaut en ordre croissant, en fonction de leur type. 

Si vous souhaitez trier les élément de la collection dans un ordre particulier ou trier tout type d'élément, vous devez passer dans nomMéthode le nom d'une méthode qui compare deux valeurs et retourne vrai dans $1.result si la première valeur est inférieure à la seconde valeur. Si nécessaire, vous pouvez passer des paramètres supplémentaires à la méthode via extraParam

  • nomMéthode reçoit les paramètres suivants :
    • $1 (objet), où :
      • $1.value (tout type) : valeur du premier élément à comparer
      • $1.value2 (tout type) : valeur du second élément à comparer
    • $2...$N (tout type) : paramètres supplémentaires (extraParam)
  • nomMéthode doit fixer le paramètre suivant :
    • $1.result (booléen) : vrai si $1.value < $1.value2, sinon faux

Si la collection contient des éléments de différents types, ils sont d'abord groupés par type et triés par la suite. Les types sont retournés dans l'ordre suivant :

  1. null
  2. booléens
  3. chaînes
  4. nombres
  5. objets
  6. collections
  7. dates

 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() //tri numérique : [4,33,66,222,1111]
 $col3:=$col.sort("numberOrder") //tri alphabétique : [1111,222,33,4,66]

  //Méthode projet numberOrder
 C_OBJECT($1)
 $1.result:=String($1.value)<Chaine($1.value2)



Voir aussi  

collection.orderBy( )
collection.orderByMethod( )

 
PROPRIÉTÉS 

Produit : 4D
Thème : Collections
Numéro : 805259

Commande(s) éligible(s) à l'exécution dans un process préemptif

 
PAGE CONTENTS 
 
HISTORIQUE 

Créé : 4D v16 R6

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v19)
4D - Langage ( 4D v19.1)
4D - Langage ( 4D v19.4)
4D - Langage ( 4D v19.5)
4D - Langage ( 4D v19.6)
4D - Langage ( 4D v19.7)
4D - Langage ( 4D v19.8)