Flash Lite 2 |
|||
| Flash Lite 2.x ActionScript-Referenzhandbuch > ActionScript-Klassen > Array > sort (Array.sort-Methode) | |||
Sortiert die Elemente in einem Array. Flash sortiert nach Unicode-Werten. (ASCII ist eine Untergruppe von Unicode.)
In der Standardeinstellung funktioniert Array.sort() wie in der folgenden Liste beschrieben:
Wenn Sie ein Array in einer von den Standardeinstellungen abweichenden Reihenfolge sortieren möchten, können Sie entweder eine der unter dem options-Parameter beschriebenen Sortierreihenfolgen verwenden oder eine eigene benutzerdefinierte Funktion für die Sortierung erstellen. Wenn Sie eine benutzerdefinierte Funktion erstellen möchten, können Sie diese durch einen Aufruf der sort()-Methode verwenden, indem Sie den Namen der benutzerdefinierten Funktion als ersten Parameter (compareFunction) angeben.
Verfügbarkeit: ActionScript 1.0, Flash Lite 2.0. Sortieroptionen für Arrays wurden in Flash Player 7 eingeführt.
compareFunction:Object [optional] - Eine Vergleichsfunktion, mit der die Sortierreihenfolge der Elemente im Array festgelegt wird. Bei Verwendung der Elemente A und B kann das Ergebnis von compareFunction einen der folgenden drei Werte aufweisen:
options:Number [optional] - Ein oder mehrere durch den bitweisen OR-Operator | voneinander getrennte Zahlen oder Namen definierter Konstanten, die das Verhalten der Sortierung gegenüber dem Standardverhalten ändern. Folgende Werte sind für den options-Parameter zulässig:
Array.CASEINSENSITIVE oder 1Array.DESCENDING oder 2Array.UNIQUESORT oder 4Array.RETURNINDEXEDARRAY oder 8Array.NUMERIC oder 16Weitere Informationen zu diesem Parameter finden Sie im Abschnitt zur Array.sortOn()-Methode.
Hinweis: Array.sort() ist zwar in ECMA-262 definiert, bei den in Flash Player 7 eingeführten Sortieroptionen für Arrays handelt es sich jedoch um Flash-spezifische Erweiterungen der ECMA-262-Spezifikation.
Array - Der Rückgabewert hängt, wie in der folgenden Liste beschrieben, davon ab, ob Parameter übergeben werden.
options den Wert 4 oder Array.UNIQUESORT angeben und mindestens zwei zu sortierende Elemente identische Sortierfelder aufweisen, gibt Flash den Wert 0 zurück, ändert das Array jedoch nicht. options den Wert 8 oder Array.RETURNINDEXEDARRAY angeben, gibt Flash ein Array zurück, das die Ergebnisse der Sortierung wiedergibt, ändert das Array jedoch nicht. Verwendung 1: Im folgenden Beispiel wird die Verwendung von Array.sort() mit und ohne Übergabe eines Werts für options veranschaulicht:
var fruits_array:Array = new Array("oranges", "apples", "strawberries", "pineapples", "cherries");
trace(fruits_array); // Anzeige: oranges,apples,strawberries,pineapples,cherries
fruits_array.sort();
trace(fruits_array); // Anzeige: apples,cherries,oranges,pineapples,strawberries
trace(fruits_array); // Ausgabe: apples,cherries,oranges,pineapples,strawberries
fruits_array.sort(Array.DESCENDING);
trace(fruits_array); // Anzeige: strawberries,pineapples,oranges,cherries,apples
trace(fruits_array); // Ausgabe: strawberries,pineapples,oranges,cherries,apples
Verwendung 2: Im folgenden Beispiel wird Array.sort() mit einer Vergleichsfunktion verwendet. Die Einträge sind im Format "name:password" (Name:Kennwort) sortiert. Als Sortierschlüssel dient nur der Namensteil des Eintrags.
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:");
// Anzeige: Unsorted:
trace(passwords_array);
// Anzeige: mom:glam,ana:ring,jay:mag,anne:home,regina:silly
// Ausgabe: mom:glam,ana:ring,jay:mag,anne:home,regina:silly
passwords_array.sort(order);
trace("Sorted:");
// Anzeige: Sorted:
trace(passwords_array);
// Anzeige: ana:ring,anne:home,jay:mag,mom:glam,regina:silly
// Ausgabe: ana:ring,anne:home,jay:mag,mom:glam,regina:silly
| bitweiser OR-Operator, sortOn (Array.sortOn-Methode)