Tabelle nach Alphabet und Nummern sortieren?

1 Antwort

Eine fertige Lösung bieten Bibliotheken wie Isotope oder Tablesaw bereits an.

Wenn es allerdings darum geht, eine eigene Lösung zu implementieren, solltest du dir zuerst Gedanken darüber machen, wie du eine Menge an Elementen sortierst. Es gibt verschiedene mögliche Verfahren, mehrere werden hier aufgelistet und in einzelnen Artikeln gar noch ausführlicher beschrieben. Einfache Verfahren sind bspw. der Bubblesort oder der Selectionsort.

Schreibe dir also zunächst eine entsprechende Methode, die vielleicht sogar so abstrakt ist, sodass jedmögliches Property für eine Sortierung herangezogen werden könnte:

sortBy(propertyName: string) {
  // ...
}

Um nicht unnötig viele DOM-Operationen vornehmen zu müssen, solltest du zuerst das Model selbst sortieren. Das heißt, deine Nutzerdaten sollten als einfache Objekte in einer Liste vorliegen (die dann wohl Attribut deiner TS-Klasse wäre):

[
  { "username": "hans", /* ... */ },
  { "username": "hubert", /* ... */ },
  /* etc. ... */
]

Nach der Sortierung erstellst du die Nutzertabelle (via DOM API) neu.