1.7: Array-Funktionen
Bearbeite die nachfolgenden Aufgaben aufgrund dieser Daten:
type KundenAuftrag = { kundenName: string; automarke: string; serviceArt: string; wartezeitInStunden: number; dringend: boolean;}
const kundenAuftraege: KundenAuftrag[] = [ { kundenName: 'Max Mustermann', automarke: 'BMW', serviceArt: 'Ölwechsel', wartezeitInStunden: 2, dringend: false }, { kundenName: 'Anna Schmidt', automarke: 'Audi', serviceArt: 'Inspektion', wartezeitInStunden: 3, dringend: true }, { kundenName: 'Fritz Müller', automarke: 'Mercedes', serviceArt: 'Reparatur', wartezeitInStunden: 1, dringend: true }, { kundenName: 'Sabine Wagner', automarke: 'Volkswagen', serviceArt: 'Inspektion', wartezeitInStunden: 4, dringend: false }, { kundenName: 'Julia Becker', automarke: 'Toyota', serviceArt: 'Ölwechsel', wartezeitInStunden: 2, dringend: false }, { kundenName: 'Michael Schneider', automarke: 'Ford', serviceArt: 'Reparatur', wartezeitInStunden: 5, dringend: true }, { kundenName: 'Laura Keller', automarke: 'Opel', serviceArt: 'Inspektion', wartezeitInStunden: 3, dringend: false }, { kundenName: 'Simon Hofmann', automarke: 'Renault', serviceArt: 'Reparatur', wartezeitInStunden: 2, dringend: true }, { kundenName: 'Sarah Lehmann', automarke: 'Honda', serviceArt: 'Lackieren', wartezeitInStunden: 4, dringend: false }, { kundenName: 'Tobias Maier', automarke: 'Nissan', serviceArt: 'Ölwechsel', wartezeitInStunden: 1, dringend: false }, { kundenName: 'Vanessa Huber', automarke: 'Mazda', serviceArt: 'Reparatur', wartezeitInStunden: 3, dringend: true }, { kundenName: 'Lisa Schulz', automarke: 'Hyundai', serviceArt: 'Inspektion', wartezeitInStunden: 2, dringend: false }, { kundenName: 'Martin Fischer', automarke: 'Kia', serviceArt: 'Ölwechsel', wartezeitInStunden: 2, dringend: true }, { kundenName: 'Jessica Wolf', automarke: 'Subaru', serviceArt: 'Reparatur', wartezeitInStunden: 4, dringend: false }, { kundenName: 'Patrick Werner', automarke: 'Volvo', serviceArt: 'Inspektion', wartezeitInStunden: 3, dringend: false }, { kundenName: 'Nicole Mayer', automarke: 'Tesla', serviceArt: 'Reparatur', wartezeitInStunden: 6, dringend: true }, { kundenName: 'Markus Schmitt', automarke: 'Porsche', serviceArt: 'Inspektion', wartezeitInStunden: 2, dringend: false }, { kundenName: 'Laura Berger', automarke: 'Ferrari', serviceArt: 'Reparatur', wartezeitInStunden: 8, dringend: true }, { kundenName: 'Jan Becker', automarke: 'Lamborghini', serviceArt: 'Tieferlegen', wartezeitInStunden: 5, dringend: false }, { kundenName: 'Carina Schulze', automarke: 'Bugatti', serviceArt: 'Reparatur', wartezeitInStunden: 10, dringend: true }, { kundenName: 'Andreas Meier', automarke: 'McLaren', serviceArt: 'Inspektion', wartezeitInStunden: 4, dringend: false }];Aufgaben
- Filtern nach Automarke und Serviceart: Filtere die Kundenaufträge, um nur diejenigen zu erhalten, die einen Ölwechsel für einen bestimmten Automarke benötigen.
- Berechnung der durchschnittlichen Wartezeit: Berechne die durchschnittliche Wartezeit.
- Überprüfen auf dringende Aufträge: Nutze eine Array-Funktion, um festzustellen, ob es mindestens einen Kundenauftrag gibt, der eine sofortige Reparatur erfordert.
- Überprüfen der Wartezeit: Verwende eine Array-Funktion, um festzustellen, ob die Wartezeit immer weniger als 10 Stunden beträgt.
- Finden des ersten Auftrags einer bestimmten Automarke: Nutze eine Array-Funktion, um den ersten Kundenauftrag zu finden, der eine Reparatur für einen “Lamborghini” erfordert.
- Index des längsten Wartens finden: Verwende eine Array-Funktion, um den Index des Kundenauftrags mit der längsten Wartezeit zu finden.
- Filtern und Mapping für spezifische Informationen: Filtere die Kundenaufträge, um nur diejenigen zu erhalten, die eine bestimmte Art von Service benötigen, und mappe dann die Namen der Kunden, um eine Liste der betroffenen Kunden zu erhalten.
- Anzahl der Aufträge pro Automarke: Verwende
reduce, um die Anzahl der Aufträge für jede Automarke zu zählen und eine Zusammenfassung der Aufträge pro Marke zu erstellen. - Bearbeitung von Sonderanfragen: Verwende eine Array-Funktionen, um spezielle, einzigartige Anfragen (Lackieren und Tieferlegen) zu finden und erstelle für jede Anfrage eine Ausgabe im Log mit dem Kundennamen.
- Flatten von verschachtelten Aufträgen: Nutze
flatMap, um eine Liste von Ersatzteilen aus allen Kundenaufträgen zu erstellen und eine flache Liste von benötigten Ersatzteilen zu erhalten.