Ein einfacher Clustering-Algorithmus für Listen klingt nach Nebensache, bis Cassidy Williams zeigt, wie sie ihn löste: von Hand und bewusst ohne KI, als Kopftraining beim Sortieren der Magnetplättchen ihres Kleinkinds. Ihre kleine Fingerübung berührt eine Frage, die jedes Frontend-Team umtreibt. Für den häufigsten Fall hält der Browser längst eine fertige Antwort bereit.

drweb.de als bevorzugte Quelle auf Google hinzufügenQualitätsgeprüfte Inhalte direkt in Google News & DiscoverJetzt hinzufügen

Einen Clustering-Algorithmus tippt heute kaum jemand mehr selbst, die KI liefert ihn auf Zuruf. Cassidy Williams, langjährige Entwicklerin und Tech-Ausbilderin, machte am 31. Juli 2026 die Gegenprobe und schrieb einen von Hand. Beim Aufräumen der Magnetplättchen ihres Kindes stieß sie auf ein Muster und prüfte, ob sich dieses ohne KI in sauberen Code fassen lässt.

Das Wichtigste in Kürze

  • Cassidy Williams schrieb einen Clustering-Algorithmus bewusst von Hand und ohne KI, samt offen dokumentiertem Denkweg.
  • Ihr Verfahren gruppiert gleiche Werte in einer Liste, braucht dafür aber verschachtelte Schleifen und quadratische Laufzeit.
  • Den häufigen Fall „nach einem Merkmal gruppieren“ erledigen Browser seit März 2024 mit der nativen Methode Object.groupBy.
  • Handarbeit an kleinen Algorithmen schärft das Urteil über den Code, den KI-Werkzeuge generieren.

Was der Clustering-Algorithmus im Kern macht

Hand sortiert bunte Kacheln auf weißem Grund neben einem Kartonschild mit Aufschrift „ohne KI“
Williams-Algorithmus sortiert gemischte Liste durch Umdrehen von Abschnitten, bis gleiche Werte zusammenstehen

Die Aufgabe lässt sich in einem Satz sagen: Aus einer gemischten Liste wie b, g, o, g, b, r sollen am Ende alle gleichen Werte beieinanderstehen. Die Funktion von Williams sucht dazu das rechte Element, findet links davon das nächste gleiche und dreht den Abschnitt dazwischen um. Der Schritt wiederholt sich, bis jede Farbe einen Block bildet.[1] Elegant ist der Weg nicht: Zwei verschachtelte Schleifen ergeben eine Laufzeit von O(n²), und einen ersten Anlauf mit Rekursion verwarf sie wieder.

Clustering von Hand: Lohnt der Aufwand neben der KI?

Williams beschreibt das Selberschreiben als anstrengende Kopfübung und betont, dass sie bewusst auf KI-Hilfe verzichtete.[1] Der Reiz liegt im Kontrast zum Arbeitsalltag, in dem Assistenten solche Routinen in Sekunden liefern. Entwickler, die die Mechanik nie selbst durchdacht haben, erkennen schwerer, wann generierter Code danebenliegt. Dieselbe Sorge treibt gerade viele Teams um, in denen die Aufsicht über die KI-Ausgaben zur eigentlichen Last wird. Auch Nachwuchskräfte spüren die Kehrseite, seit Assistenten das klassische Übungsfeld für Einsteiger besetzen.

Einen Algorithmus, den man einmal von Hand durchdacht hat, übernimmt man später nicht mehr blind aus dem Assistenten. Genau dieses Urteil trennt Entwickler, die KI führen, von solchen, die ihr nur zusehen.

— Markus Seyfferth, Chefredakteur Dr. Web
Von Hand zur nativen Gruppierung
Warum das Gruppieren von Listen heute im Browser steckt
O(n²)
Laufzeit des handgeschriebenen Clustering-Verfahrens mit zwei verschachtelten Schleifen
03/2024
Seit diesem Monat gilt Object.groupBy als Baseline in allen aktuellen Browsern
117 / 119 / 17.4
Ab Chrome 117, Firefox 119, Safari 17.4 und Node 21 nativ verfügbar

Früher

Gruppieren nach einem Merkmal lief über eine Hilfsbibliothek wie lodash mit groupBy oder ein selbstgebautes reduce.

Heute

Object.groupBy gruppiert nach String-Schlüsseln, Map.groupBy nach beliebigen Schlüsseln, ganz ohne Fremdcode.

Listen gruppieren: Wann der Browser die Handarbeit übernimmt

Für den Alltag zählt selten das Clustern identischer Zeichen, sondern das Gruppieren nach einem Merkmal: Bestellungen nach Status, Nutzer nach Land. Lange übernahm das eine Hilfsbibliothek wie lodash mit groupBy oder ein selbstgebautes reduce. Seit März 2024 liefert der Browser die Funktion serienmäßig: Object.groupBy ordnet eine Liste anhand des Rückgabewerts in Gruppen, Map.groupBy tut dasselbe für beliebige Schlüssel.[2] Die Methode gilt als Baseline und läuft in Chrome ab 117, Firefox ab 119, Safari ab 17.4 und Node ab 21. Den gleichen Zug zeigen moderne CSS-Bausteine, die frühere Handarbeit an Animationen ablösen.

Der Rat für die Praxis fällt doppelt aus. Für den Standardfall greifen Sie zu Object.groupBy und sparen sich Fremdcode, in älteren Browsern sichert ein Polyfill oder lodash ab. Zusätzlich zahlt sich aus, ab und zu selbst Hand an einen kleinen Algorithmus zu legen, damit das Urteil über generierten Code nicht einrostet. Zum Auffrischen der Grundlagen steht reichlich frei verfügbares Übungsmaterial bereit.

Quellen

[1] Cassidy Williams: „A simple clustering algorithm for lists“

[2] MDN Web Docs: „Object.groupBy()“

Mehr Newshunger?

4,6 16 Bewertungen

Wie hat Ihnen dieser Artikel gefallen?