sort (Array.sort-Methode)

public sort([compareFunction:Object], [options:Number]) : Array

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.

Parameter

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:

Weitere 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.

Rückgabewerte

Array - Der Rückgabewert hängt, wie in der folgenden Liste beschrieben, davon ab, ob Parameter übergeben werden.

Beispiel

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

Siehe auch

| bitweiser OR-Operator, sortOn (Array.sortOn-Methode)