Anna: Array sortieren

Hallo

Ich suche schon seit einiger Zeit nach einer Möglichkeit ein Array zu sortieren.

So ungefähr sieht es aus:

... new Array( '23.01.2003|Veranstaltung 3|Text3',
               '09.06.2004|Veranstaltung 8|Text8',
               '12.05.2002|Veranstaltung 7|Text7',
               '26.07.2004|Veranstaltung 5|Text5'
                 );

Ich möchte nun die Veranstaltungen nach dem Datum sortieren. Also Jahr, Monat, Tag.

Über einen Lösungsansatz oder nätzliche Hinweise würde ich mich freuen.

Danke,
Anna

  1. hi,

    Ich suche schon seit einiger Zeit nach einer Möglichkeit ein Array zu sortieren.

    http://selfhtml.teamone.de/javascript/objekte/array.htm#sort

    ... new Array( '23.01.2003|Veranstaltung 3|Text3',
                   '09.06.2004|Veranstaltung 8|Text8',

    Ich möchte nun die Veranstaltungen nach dem Datum sortieren. Also Jahr, Monat, Tag.

    deine datenstruktur eignet sich natürlich nicht besonders gut zum sortieren, aber wenn du dir eine eigene kleine vergleichsfunktion schreibst, die aus diesen strings das datum extrahiert und anschliessend vergleich, sollte der anwendung von sort() nichts mehr im wege stehen. beispiel siehe obiger link.

    gruss,
    wahsaga

    1. hallo

      deine datenstruktur eignet sich natürlich nicht besonders gut zum sortieren, aber wenn du dir eine eigene kleine vergleichsfunktion schreibst, die aus diesen strings das datum extrahiert und anschliessend vergleich, sollte der anwendung von sort() nichts mehr im wege stehen. beispiel siehe obiger link.

      stimmt, also der vermutlich einfachste weg ist, wenn du das datum umdrehst, dann wird es lexikalisch richtig sortiert:
      Bspl:
      24.3.2004   I
      27.8.2004   II
      24.5.2003   III
      umgedreht:
      4002.3.42   I
      4002.8.72   II
      3002.5.42   III
      aufsteigend sortiert: (kleinstes datum zuerst)
      3002.5.42   III
      4002.3.42   I
      4002.8.72   II

      und absteigend sortiert: (grösstes . . .)
      4002.8.72   II
      4002.3.42   I
      3002.5.42   III

      wenn du magst, kannst du auch noch die punkte aus den daten enfernen.
      gruss

      --
      no strict;
      no warnings;
      Selbstcode: (_*_) ^_^ ( . ) ( . ) :-(bla)
    2. Danke.
      Hab mit sort() meine liebes Problem.

      Das Datum sieht anders aus, sorry.

      ... new Array( '20030123|Veranstaltung 3|Text3',
                     '20040609|Veranstaltung 8|Text8',
      ...

      Kann ich denn das sort() verwenden, wenn ein Array so aufgebaut ist?
      Bei den Beispielen bestehen die Arrays nur aus einzelnen Wörtern oder Zahlen....

      Gruß
      Anna

      Datum

      hi,

      Ich suche schon seit einiger Zeit nach einer Möglichkeit ein Array zu sortieren.

      http://selfhtml.teamone.de/javascript/objekte/array.htm#sort

      ... new Array( '23.01.2003|Veranstaltung 3|Text3',
                     '09.06.2004|Veranstaltung 8|Text8',

      Ich möchte nun die Veranstaltungen nach dem Datum sortieren. Also Jahr, Monat, Tag.

      deine datenstruktur eignet sich natürlich nicht besonders gut zum sortieren, aber wenn du dir eine eigene kleine vergleichsfunktion schreibst, die aus diesen strings das datum extrahiert und anschliessend vergleich, sollte der anwendung von sort() nichts mehr im wege stehen. beispiel siehe obiger link.

      gruss,
      wahsaga

      1. ... new Array( '20030123|Veranstaltung 3|Text3',
                       '20040609|Veranstaltung 8|Text8',
        ...

        Kann ich denn das sort() verwenden, wenn ein Array so aufgebaut ist?
        Bei den Beispielen bestehen die Arrays nur aus einzelnen Wörtern oder Zahlen....

        Du kannst sort immer und überall verwenden, nur in deinem Falle musst du dir eine eigene Funktion schreiben, wie in dem Link von wahsaga beschrieben:

        http://selfhtml.teamone.de/javascript/objekte/array.htm#sort

        Struppi.

        1. hi,

          ... new Array( '20030123|Veranstaltung 3|Text3',
                         '20040609|Veranstaltung 8|Text8',

          Du kannst sort immer und überall verwenden, nur in deinem Falle musst du dir eine eigene Funktion schreiben

          ist das hier überhaupt nötig?

          ein datum im format JJJJMMTT sollte sich doch auch einfach so mit normaler string-sortierung sortieren lassen.

          gruss,
          wahsaga

          1. ist das hier überhaupt nötig?

            ein datum im format JJJJMMTT sollte sich doch auch einfach so mit normaler string-sortierung sortieren lassen.

            wahrscheinlich hast du recht, aber Anna meinte ja das es probleme gibt.

            Struppi.