| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Flash & TYPO3 Registriert seit: Oct 2003 Ort: Bayern
Beiträge: 2.700
| Array alphabetisch sortieren
Hallo Flasher, irgendwie steh ich grad auf der Leitung und weiß nicht, wie ich einen Array mit verschiedenen Strings alphabetisch sortieren kann!?
__________________ Mediendesign-Student |
| | |
| | #2 (permalink) |
| Halbwissender Registriert seit: Jul 2002 Ort: Leipzig
Beiträge: 184
|
steht in der Hilfe. Array.sort() Verfügbarkeit Flash Player 5; zusätzliche Möglichkeiten in Flash Player 7. Verwendung mein_array.sort() mein_array.sort(vergleichsfunktion) mein_array.sort(option | option |... ) mein_array.sort(vergleichsfunktion, option | option |... ) Parameter vergleichsfunktion Eine optionale Vergleichsfunktion, mit der die Sortierreihenfolge der Elemente im Array festgelegt wird. Bei Verwendung der Elemente A und B kann das Ergebnis von vergleichsfunktion einen der folgenden drei Werte aufweisen: -1, falls A in der sortierten Folge vor B aufgeführt werden soll 0, wenn A = B 1, falls A in der sortierten Folge hinter B aufgeführt werden soll option Ein oder mehrere durch den Operator | (bitweises OR) voneinander getrennte Strings, die das Verhalten der Sortierung gegenüber dem Standardverhalten ändern. Folgende Werte werden für option akzeptiert: 1 oder Array.CASEINSENSITIVE 2 oder Array.DESCENDING 4 oder Array.UNIQUE 8 oder Array.RETURNINDEXEDARRAY 16 oder Array.NUMERIC Informationen zu diesem Parameter finden Sie unter Array.sortOn(). Rückgaben Der Rückgabewert hängt davon ab, ob Sie Parameter übergeben: Wenn Sie den Wert 4 oder Array.UNIQUE für option angeben und zwei oder mehr zu sortierende Elemente identische Sortierungsfelder aufweisen, gibt Flash den Wert 0 zurück und ändert das Array nicht. Wenn Sie den Wert 8 oder Array.RETURNINDEXEDARRAY für option angeben, gibt Flash ein Array zurück, das die Ergebnisse der Sortierung wiedergibt, und ändert das Array nicht. Andernfalls gibt Flash nichts zurück und ändert das Array entsprechend der Sortierreihenfolge. Beschreibung Methode; sortiert die Elemente in einem Array. Flash sortiert nach ASCII- (Unicode-)Werten Wenn eines der zu vergleichenden Elemente das im Parameter feldname angegebene Feld nicht enthält, gilt das Feld als undefined, und die Elemente werden im sortierten Array ohne bestimmte Reihenfolge nacheinander platziert. Standardmäßig funktioniert Array.sort() wie folgt: Bei der Sortierung wird Groß-/Kleinschreibung beachtet (Z kommt vor a). Die Sortierung erfolgt aufsteigend (a kommt vor b). Das Array wird entsprechend der Sortierreihenfolge geändert. Elemente mit identischen Sortierfeldern werden im sortierten Array ohne bestimmte Reihenfolge nacheinander platziert. Numerische Felder werden so sortiert, als seien sie Strings. 100 kommt demnach vor 99, weil "1" ein kleinerer Stringwert ist als "9". Es wird nichts zurückgegeben. Wenn Sie die Sortierung anders durchführen möchten, erstellen Sie eine Funktion für die Sortierreihenfolge und übergeben deren Namen als Parameter vergleichsfunktion. Dies ist beispielsweise hilfreich, wenn Sie alphabetisch nach Nachname und danach absteigend nach Postleitzahl sortieren möchten. Wenn Sie ein oder mehrere Felder angeben möchten, nach denen mit der Standardsortierung oder dem Parameter options sortiert werden soll, verwenden Sie Array.sortOn(). Beispiel Verwendung 1: Das folgende Beispiel veranschaulicht die Verwendung von Array.sort() mit und ohne Übergabe eines Wertes für option: var obst_array = ["Orangen", "Äpfel", "Erdbeeren", "Ananas", "Kirschen"]; trace(obst_array.join()); obst_array.sort(); trace(obst_array.join()); fruechte_array.sort(Array.DESCENDING); trace(obst_array.join()); Im Bedienfeld Ausgabe werden die folgenden Ergebnisse angezeigt: Orangen, Äpfel, Erdbeeren, Ananas, Kirschen // ursprüngliches Array Äpfel, Ananas, Erdbeeren, Kirschen, Orangen // Standardsortierung Orangen, Kirschen, Erdbeeren, Ananas, Äpfel // absteigende Sortierung Verwendung 2: Im folgenden Beispiel wird Array.sort() mit einer Vergleichsfunktion verwendet var passwords = ["mom:glam","ana:ring","jay:mag","anne:home","regin a:silly"]; function order (a,b){ // Zu sortierende Einträge im Format name assword// Als Sortierschlüssel dient nur der Namensteil des Eintrags var name1 =a.split(":")[0 ]; var name2 =b.split(":")[0 ]; if (name1 < name2){ return -1; } else if (name1 >name2){ return 1; } else { return 0; } } trace ("Unsortiert:"); trace (passwords.join()); passwords.sort(order); trace ("Sortiert:"); trace (passwords.join()); Im Bedienfeld Ausgabe werden die folgenden Ergebnisse angezeigt: Unsortiert mom:glam,ana:ring,jay:mag,anne:home,regina:silly Sortiert: ana:ring,anne:home,jay:mag,mom:glam,regina:silly |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |