Arraysortierung [erledigt]

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Arraysortierung [erledigt]

Beitrag von peternmb »

Hallo,

ich möchte mein Array nach dem 2. und 3. Wert sortieren.
nur nach dem 2. Wert ist keine Problem, steht ja auch in der Doku, nur wie geht es dann zusätzlich noch nach dem 3.Wert?

Code: Alles auswählen

aArray := { {"E",4,4 }, ;
            {"A",3,3 }, ; 
            {"D",4,2 }, ; 
            {"C",3,5 }, ; 
            {"B",3,2 }  
           
ASort( aArray,,, {|aX,aY| aX[2] > aY[2] } )  // Sortierung nach Wert 2 OK
Zuletzt geändert von peternmb am Mo, 26. Jan 2015 13:16, insgesamt 1-mal geändert.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16508
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Arraysortierung

Beitrag von Martin Altmann »

Moin,
kommt darauf an, wie Du es sortieren willst :!:
Wenn Du z.B. nach dem dritten Wert aufsteigend sortieren willst, sofern der 2. Wert zum vorhergehenen Eleemnt identisch ist, dann würde das so gehen:

Code: Alles auswählen

asort( aArray,,, {| aX, aY | iif( aX[ 2 ] <> aY[ 2 ], aX[ 2 ] < aY[ 2 ], aX[ 3 ] < aY[ 3 ] ) } )
Du könntest natürlich auch die Zahlen mittels str() umwandeln und konkatenieren vor dem Vergleichen:

Code: Alles auswählen

asort( aArray,,, {| aX, aY | str( aX[ 2 ], 5 ) + str( aX[ 3 ], 5 ) < str( aY[ 2 ], 5 ) + str( aY[ 3 ], 5 ) } )
Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Re: Arraysortierung

Beitrag von peternmb »

ja, vielen Dank - das ist genau das was ich (vergeblich) gesucht habe :banghead:
Antworten