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 :
- null
- booléens
- chaînes
- nombres
- objets
- collections
- dates
C_OBJET($1)
$1.result:=Chaine($1.value)<Chaine($1.value2)