Menu
Coddy logo textTech

Herausforderung: Produkt finden

Teil des Abschnitts Grundlagen der Dart-Journey von Coddy — Lektion 94 von 94.

challenge icon

Aufgabe

Einfach

In dieser Herausforderung üben Sie die Verwendung der find-Methode mit Listen, um spezifische Elemente basierend auf Bedingungen zu finden.

Sie haben eine Liste von Produkten im Warenkorb, die als Maps mit Name, Preis und Menge dargestellt werden. Ihre Aufgabe ist es, die findProduct-Funktion zu vervollständigen, die nach einem Produkt nach Name im Warenkorb sucht.

Die Funktion sollte das erste Produkt zurückgeben, das mit dem angegebenen Namen übereinstimmt, oder null, wenn kein Treffer gefunden wird.

Vervollständigen Sie den Code, um diese Suchfunktionalität ordnungsgemäß zu implementieren.

Probier es selbst

void main() {
  // Einkaufswagen mit Produkten
  List<Map<String, dynamic>> shoppingCart = [
    {'name': 'Laptop', 'price': 999.99, 'quantity': 1},
    {'name': 'Headphones', 'price': 59.99, 'quantity': 2},
    {'name': 'Mouse', 'price': 24.99, 'quantity': 1},
    {'name': 'Keyboard', 'price': 49.99, 'quantity': 1}
  ];
  
  // Teste die findProduct Funktion
  Map<String, dynamic>? foundProduct = findProduct(shoppingCart, 'Headphones');
  if (foundProduct != null) {
    print('Found: ${foundProduct['name']} - \$${foundProduct['price']} (Quantity: ${foundProduct['quantity']})');
  } else {
    print('Product not found');
  }
  
  // Test mit einem nicht existierenden Produkt
  foundProduct = findProduct(shoppingCart, 'Monitor');
  if (foundProduct != null) {
    print('Found: ${foundProduct['name']} - \$${foundProduct['price']} (Quantity: ${foundProduct['quantity']})');
  } else {
    print('Product not found');
  }
}

// TODO: Vervollständige diese Funktion, um ein Produkt nach Namen zu finden
Map<String, dynamic>? findProduct(List<Map<String, dynamic>> cart, String productName) {
  // TODO: Durchlaufe den Warenkorb und gib das erste Produkt zurück, das zum productName passt
  // TODO: Gib null zurück, wenn kein passendes Produkt gefunden wird
  
}

Alle Lektionen in Grundlagen