Übungen: JavaScript-Grundlagen II
In diesen Übungen arbeiten Sie mit JSON-Daten, Array-Methoden und dynamischem Rendering. Jede Übung enthält Startcode und inline Daten — Sie müssen die JavaScript-Logik vervollständigen. Nutzen Sie die Konsole (F12) zum Debuggen.
Übung 1: JSON-Explorer
Array-Methoden & DOMLaden Sie Museumsobjekte aus einer inline JSON-Datenstruktur, stellen Sie sie als Karten dar und implementieren Sie eine Live-Suchfunktion. Vervollständigen Sie die drei markierten TODO-Abschnitte im JavaScript-Code.
Aufgabe
- Parsen Sie die JSON-Daten aus dem
<script>-Tag - Rendern Sie jedes Objekt als Karte mit Name, Datierung, Kategorie und Beschreibung
- Implementieren Sie eine Live-Suche, die bei jeder Eingabe filtert
Übung 2: Europeana-Suche
API-Daten & GalerieBauen Sie eine Suchmaske, die eine simulierte Europeana-Response nach Suchbegriff filtert und die Ergebnisse als Bildergalerie darstellt. Da wir keinen echten API-Key verwenden, arbeiten wir mit inline Beispieldaten.
Aufgabe
- Filtern Sie die Europeana-Items nach dem eingegebenen Suchbegriff (Titel und Anbieter)
- Zeigen Sie die Ergebnisse als Galerie mit Vorschaubild, Titel, Jahr und Datenanbieter
- Der Suchen-Button und die Enter-Taste sollen die Suche auslösen
Übung 3: Korrespondenz-Filter
CSV-Parsing & TabelleParsen Sie einen CSV-String mit Korrespondenzdaten, zeigen Sie ihn als Tabelle an und implementieren Sie Filter nach Person und Zeitraum. Diese Übung simuliert die Arbeit mit tabellarischen DH-Daten.
Aufgabe
- Parsen Sie den CSV-String in ein Array von Objekten
- Rendern Sie die Daten als HTML-Tabelle
- Füllen Sie die Filter-Dropdowns dynamisch mit den verfügbaren Personen
- Filtern Sie bei Änderung der Dropdowns
Übung 4: IIIF-Viewer
IIIF & GalerieParsen Sie ein vereinfachtes IIIF-Manifest und zeigen Sie die Bilder als Galerie an. Jedes Canvas im Manifest repräsentiert eine Seite des digitalisierten Dokuments. Extrahieren Sie die Bild-URLs und Beschriftungen aus der verschachtelten Struktur.
Aufgabe
- Navigieren Sie die verschachtelte IIIF-Manifest-Struktur
- Extrahieren Sie aus jedem Canvas: Label, Bild-URL, Breite und Höhe
- Rendern Sie die Bilder als Galerie mit Beschriftung
- Zeigen Sie den Manifest-Titel und die Metadaten an
Agentic Coding: Context Engineering
Wenn Sie bei einer Übung nicht weiterkommen, versuchen Sie folgenden Ansatz mit einem LLM:
- Kopieren Sie die Datenstruktur (z.B. ein JSON-Objekt) in den Prompt
- Beschreiben Sie die gewünschte Ausgabe (z.B. „als Karten-Grid“)
- Geben Sie Constraints an (z.B. „nur Vanilla JS, mit map() und filter()“)
- Prüfen Sie das Ergebnis und iterieren Sie bei Bedarf
Je genauer der Kontext, desto besser der generierte Code. Das ist Context Engineering in der Praxis.
Für eigene Projekte: Fertige Hilfsmodule
Die Muster, die Sie in diesen Übungen gelernt haben (JSON laden, Tabellen rendern, Daten filtern), stehen als wiederverwendbare Module bereit:
js/data-utils.js—DataUtils.loadJSON(url),DataUtils.loadCSV(url),DataUtils.renderTable(data, columns),DataUtils.filterBySearch(data, query, fields),DataUtils.sortBy(data, field)js/tei-viewer.js—TEIViewer.loadAndRender(url, container)für TEI-Briefe
Binden Sie diese Module in Ihrem Assignment 2 ein, um sich auf die Interaktivität und das Design zu konzentrieren, statt Basisfunktionen neu zu implementieren.