Array sortieren
Michael R
- javascript
Hallo,
ein JavaScript hat u.a. folgende Elemente:
MyArray = new Array();
MyArray[0] = new Array();
MyArray[0][0] = 'eins';
MyArray[0][1] = '1';
MyArray[1] = new Array();
MyArray[1][0] = 'drei';
MyArray[1][1] = '3';
MyArray[1] = new Array();
MyArray[2][0] = 'zwei';
MyArray[2][1] = '2';
Ich würde jetzt ganz gerne das obige Array sortieren - ja ich weiß da gibt es sort() & Co. aber wie geht's unter der folgenden Bedingung:
Sortierkriterium soll sein: MyArray[?][0] = '...'
Sortierreihenfolge: alphabetisch
Kurzum: also das Array alphabetisch nach den Worten sortieren.
Hat jemand da einen Tipp ?
Danke
Michael
Hi!
Wenn die Daten aus einer DB kommen, würd ich ORDER BY verwenden.
Wenn nicht, so gibt es 2 Möglichkeiten:
1. Es gibt in JavaScript bereits eine Mehtode die das macht.
Dazu würd ich kurz mal SELF-HTML-Kontaktieren
2. Du must dir Deinen eigenen Sortieralgorithmus schreiben:
Suche dazu im Internet einfach nach sorting oder noch besser
nach: Quicksort (Quick-Sort) oder zB Bubble-Sort.
Über das Sortieren haben sich schon ganz intelligente Leute
in den Urzeiten der EDV gedanken gemacht. (1950+ )
Liebe Grüße
fredy
Hallo,
ein JavaScript hat u.a. folgende Elemente:
MyArray = new Array();
MyArray[0] = new Array();
MyArray[0][0] = 'eins';
MyArray[0][1] = '1';
MyArray[1] = new Array();
MyArray[1][0] = 'drei';
MyArray[1][1] = '3';
MyArray[1] = new Array();
MyArray[2][0] = 'zwei';
MyArray[2][1] = '2';
Ich würde jetzt ganz gerne das obige Array sortieren - ja ich weiß da gibt es sort() & Co. aber wie geht's unter der folgenden Bedingung:
Sortierkriterium soll sein: MyArray[?][0] = '...'
Sortierreihenfolge: alphabetisch
Kurzum: also das Array alphabetisch nach den Worten sortieren.
Hat jemand da einen Tipp ?
Danke
Michael
Hi fredy,
danke für die Tipps!
Michael
Moin moin!
Ich würde jetzt ganz gerne das obige Array sortieren - ja ich weiß da gibt es sort() & Co. aber wie geht's unter der folgenden Bedingung:
Sortierkriterium soll sein: MyArray[?][0] = '...'
Sortierreihenfolge: alphabetisch
Kurzum: also das Array alphabetisch nach den Worten sortieren.
Du musst der sort()-Methode eine eigene Vergleichsfunktion uebergeben. Siehe dazu http://docserv.calocybe.dyndns.org/specs/NetscapeCommunications/JavaScript13ClientReference/array.htm#1196882.
Innerhalb der Vergleichsfunktion, die die beiden Parameter a und b bekommt, vergleichst Du jeweils a[0] und b[0] mit den normalen Vergleichsoperatoren <, > und == und gibst entsprechend -1, +1 oder 0 zurueck. Die Vergleichsoperatoren funktionieren in JS naemlich zum Glueck auch mit Strings (http://docserv.calocybe.dyndns.org/specs/NetscapeCommunications/JavaScript13ClientReference/ops.htm#1060974).
Die beiden Parameter a und b sind dabei jeweils Elemente des Hauptarrays. Es sind also ihrerseits die Arrays, die 'eins' und 1 enthalten oder 'drei' und 3 usw.
HTH && So long
--
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
-- Rich Cook