[Divers] Extension des méthodes sort() et sortOn()
Écrit par Mama | 10-09-2003
Les constantes de l'objet Array
Macromedia a étendu l'objet Array en lui ajoutant des constantes utilisées dans le cadre des méthodes de tri Array.sort() et Array.sortOn. Ces constantes sont : Array.CASEINSENSITIVE, Array.DESCENDING, Array.NUMERIC, Array.RETURNINDEXEDARRAY et Array.UNIQUESORT.
Array.CASEINSENSITIVE est utilisé pour classer des tableau en ignorant la casse de ces éléments.
Array.DESCENDING sert à classer les éléments d'un tableau en sens inverse.
Array.NUMERIC permet de classer numériquement.
Array.RETURNINDEXARRAY retourne un tableau contant la liste des index ordonnées et non la valeur des éléments.
Array.UNIQUESORT retourne false si plusieurs éléments on les mêmes valeurs (pour sort) ou si plusieurs propriété d'un tableau d'objets existent (pour sortOn) sinon retourne le tableau classé.
Extension de la méthode sort()
Pour effectuer un tri en utilisant une des constantes de l'objet Array il suffit de passer en paramètre une ou plusieurs constantes à la méthode sort à la place de la fonction de tri:
Cette nouvelle approche est environ 10 fois plus rapide que l'ancienne.
Extension de la méthode sortOn()
La méthode sortOn se voit également étendue avec Flash MX 2004. Tout d'abord on peut transmettre un deuxième paramètre à la méthode pour trier selon les nouvelles constantes:
Autre nouveauté, vous pouvez maintenant effectuer un tri sur plusieurs propriétés ! Imaginons que vous vouliez classer en priorité sur la propriété a mais en cas de valeur identique, trier en second sur la propriété c, il vous suffit non pas de passer une chaîne en premier paramètre mais un tableau de chaînes comme le montre l'exemple suivant: