Tabelle nach Alphabet und Nummern sortieren?
Hi,
Meine Frage bezieht sich auf meinen Usermanager. Ich muss, wenn ich auf Sort klicke, die Nachnamen nach Alphabet sortieren.
Einen Sort Button habe ich schon. Leider kriege ich keine Funktion hin, um in TypeScript eine Schleife aufzubauen, welche diese Aktion durchführt.
Außerdem muss ich eine Funktion erstellen, die die hinzugefügten Benutzer nach Nummerierung sortiert. D.h. der unterste (als erste eingefügte Benutzer) muss nach oben geschoben werden.
Hat jemand eine Idee, wie die on.klick Funktion heißen muss, damit es wie oben besagt funktioniert ?
P.S. Kein Python
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.