Cette fonction retourne une séquence résultat du tri d'une séquence de valeurs de type scalaire (Boolean, Number, String, Date, Time ou Date-time).
Le tri peut être ascendant ou descendant. La séquence doit contenir des valeurs de même type.
Lorsque les valeurs de la séquence sont de type String, le tri appliqué est un tri lexicographique.
Remarque :
Quelques différences par rapport à la fonction "built-in" Freemarker "sort" (cliquez ici pour plus de détails) appliquée à une séquence ([...]?sort) :
- Le résultat obtenu est identique pour les types Boolean / Number / Date / Time / Date-time. Pour le type String, la fonction Freemarker "sort" applique un tri utilisant une collation,
- La fonction "sort" ne permet pas de trier en descendant : la seule solution est d'utiliser la fonction Freemarker "reverse" ([...]?sort?reverse), mais l'ordre original des valeurs qui sont égales n'est pas respecté.
Paramètres
Sequence de Boolean / Number / String / Date / Time / Date-time |
seqValues |
Séquence de valeurs à trier |
Obligatoire |
Boolean |
ascendingOrder |
"true" pour un tri ascendant, "false" pour un tri descendant |
Optionnel. La valeur par défaut est "true" |
Par exemple
<#assign seqObj = ["whale", "Barbara", "zeppelin", "aardvark", "beetroot" ]> <#-- Ascending order --> <#list hardisCore.lexicographicSort(seqObj) as aVal> - ${aVal} </#list>
La sortie est :
- aardvark
- Barbara
- beetroot
- whale
- zeppelin ↑ Haut de page