Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
collection.orderByMethod( )
|
collection.orderByMethod ( nomMéthode {; extraParam}{; extraParam2 ; ... ; extraParamN} ) -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
nomMéthode | Texte |
![]() |
Nom de la méthode utilisée pour trier la collection | |||||
extraParam | Expression |
![]() |
Paramètre(s) pour la méthode | |||||
Résultat | Collection |
![]() |
Copiée triée de la collection (shallow copy) | |||||
La méthode collection.orderByMethod( ) retourne une nouvelle collection contenant tous les éléments de la collection d'origine triés selon les critères définis par nomMéthode. Cette méthode retourne une "shallow copy" (copie superficielle), ce qui signifie que les objets ou les collections présents dans les deux collections partagent la même référence.
Si la collection d'origine est une collection partagée, la collection retournée est également une collection partagée.
Note : Cette méthode ne modifie pas la collection d'origine.
Dans nomMéthode, passez le nom de la méthode qui compare deux valeurs et retourne true 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.
Vous souhaitez trier une collection de chaînes contenant des nombres par valeur plutôt que par ordre alphabétique :
C_COLLECTION($c)
$c:=Creer collection("333";"4";"1111";"22")
$c2:=$c.orderBy() //$c2=["1111","22","333","4"], ordre alphabétique
$c3:=$c.orderByMethod("NumAscending") // $c3=["4","22","333","1111"]
Voici le code de la méthode NumAscending:
$1.result:=Num($1.value)<Num($1.value2)
Vous souhaitez trier une collection de chaînes selon leur longueur :
C_COLLECTION($fruits)
$fruits:=Creer collection("Orange";"Apple";"Grape";"pear";"Banana";"fig";"Blackberry";"Passion fruit")
$c2:=$fruits.orderByMethod("WordLength")
//$c2=[Passion fruit,Blackberry,Orange,Banana,Apple,Grape,pear,fig]
Voici le code de la méthode WordLength:
$1.result:=Longueur(Chaine($1.value))>Longueur(Chaine($1.value2))
Vous souhaitez trier une collection par code de caractère ou par langage :
var $strings1;$strings2 : Collection
$strings1:=Creer collection("Alpha";"Charlie";"alpha";"bravo";"Bravo";"charlie")
//à l'aide du code de caractère
$strings2:=$strings1.orderByMethod("sortCollection";sk codes caractère)
// résultat : ["Alpha","Bravo","Charlie","alpha","bravo","charlie"]
//à l'aide du langage
$strings2:=$string1s.orderByMethod("sortCollection";sk strict)
// résultat : ["alpha","Alpha","bravo","Bravo","charlie","Charlie"]
La méthode sortCollection :
var$1Object
var$2Integer // option de tri
$1.result:=(Comparer chaines($1.value;$1.value2;$2)<0)
Produit : 4D
Thème : Collections
Numéro :
705253
Nom intl. : collection.orderByMethod( )
Créé : 4D v16 R6
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)