Flash Lite 2 |
|||
| Guide de référence du langage ActionScript Flash Lite 2.x > Classes ActionScript > Array > sort (méthode Array.sort) | |||
Trie les éléments d'un tableau. Flash trie selon les valeurs Unicode. (ASCII est un sous-ensemble de Unicode.)
Par défaut, Array.sort() fonctionne comme décrit dans la liste suivante :
Si vous voulez trier un tableau à l'aide de paramètres qui ne correspondent pas aux paramètres par défaut, vous pouvez utiliser l'une des options de tri décrites dans l'entrée du paramètre options ou vous pouvez créer votre propre fonction personnalisée pour effectuer le tri. Si vous créez une fonction personnalisée, vous pouvez l'utiliser en appelant la méthode sort() et en utilisant le nom de votre fonction personnalisée en tant que premier paramètre (compareFunction).
Disponibilité : ActionScript 1.0 ; Flash Lite 2.0 - Option de tri de tableau ajoutée dans Flash Player 7.
compareFunction:Object [facultatif] - Une fonction de comparaison utilisée pour déterminer l'ordre de tri des éléments dans un tableau. Etant donné les éléments A et B, le résultat de compareFunction peut être l'une des trois valeurs suivantes :
options:Number [facultatif] - Un ou plusieurs nombres ou noms de constantes définies, séparés par l'opérateur OR | au niveau du bit, ce qui remplace le comportement de tri par défaut. Les valeurs suivantes sont valides pour le paramètre options :
Array.CASEINSENSITIVE ou 1Array.DESCENDING ou 2Array.UNIQUESORT ou 4Array.RETURNINDEXEDARRAY ou 8Array.NUMERIC ou 16 Pour plus d'informations sur ce paramètre, consultez la méthode Array.sortOn().
Remarque : La méthode Array.sort() est définie dans la norme ECMA-262 mais les options de tri de tableau introduites dans Flash Player 7 sont des extensions spécifiques à Flash de la spécification ECMA-262.
Array - La valeur de renvoi dépend du fait que vous transmettiez ou non des paramètres, comme décrit dans la liste suivante :
Array.UNIQUESORT pour le paramètre options et si au moins deux éléments triés ont des champs de tri identiques, Flash renvoie une valeur de 0 et ne modifie pas le tableau. Array.RETURNINDEXEDARRAY pour le paramètre options, Flash renvoie un tableau qui reflète les résultats du tri et ne modifie pas le tableau. Utilisation 1 : L'exemple suivant illustre l'utilisation de Array.sort(), avec et sans valeur transmise à options :
var fruits_array:Array = new Array("oranges", "apples", "strawberries", "pineapples", "cherries");
trace(fruits_array); // Affiche oranges,apples,strawberries,pineapples,cherries.
fruits_array.sort();
trace(fruits_array); // Affiche apples,cherries,oranges,pineapples,strawberries.
trace(fruits_array); // Ecrit apples,cherries,oranges,pineapples,strawberries.
fruits_array.sort(Array.DESCENDING);
trace(fruits_array); // Affiche strawberries,pineapples,oranges,cherries,apples.
trace(fruits_array); // Ecrit strawberries,pineapples,oranges,cherries,apples.
Utilisation 2 : L'exemple suivant utilise Array.sort() avec une fonction de comparaison. Les entrées sont triées sous la forme nom:mot de passe. Triez en utilisant uniquement la partie nom de l'entrée en tant que clé :
var passwords_array:Array = new Array("mom:glam", "ana:ring", "jay:mag", "anne:home", "regina:silly");
function order(a, b):Number {
var name1:String = a.split(":")[0];
var name2:String = b.split(":")[0];
if (name1<name2) {
return -1;
} else if (name1>name2) {
return 1;
} else {
return 0;
}
}
trace("Unsorted:");
// Affiche Unsorted:
trace(passwords_array);
// Affiche mom:glam,ana:ring,jay:mag,anne:home,regina:silly.
// Ecrit mom:glam,ana:ring,jay:mag,anne:home,regina:silly.
passwords_array.sort(order);
trace("Sorted:");
// Affiche Sorted:
trace(passwords_array);
// Affiche ana:ring,anne:home,jay:mag,mom:glam,regina:silly.
// Ecrit ana:ring,anne:home,jay:mag,mom:glam,regina:silly.
Opérateur | (OR) au niveau du bit, sortOn (méthode Array.sortOn)