Zum Inhalt springen

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

  1. Filtern nach Automarke und Serviceart: Filtere die Kundenaufträge, um nur diejenigen zu erhalten, die einen Ölwechsel für einen bestimmten Automarke benötigen.
  2. Berechnung der durchschnittlichen Wartezeit: Berechne die durchschnittliche Wartezeit.
  3. Überprüfen auf dringende Aufträge: Nutze eine Array-Funktion, um festzustellen, ob es mindestens einen Kundenauftrag gibt, der eine sofortige Reparatur erfordert.
  4. Überprüfen der Wartezeit: Verwende eine Array-Funktion, um festzustellen, ob die Wartezeit immer weniger als 10 Stunden beträgt.
  5. 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.
  6. Index des längsten Wartens finden: Verwende eine Array-Funktion, um den Index des Kundenauftrags mit der längsten Wartezeit zu finden.
  7. 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.
  8. 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.
  9. 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.
  10. 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.