Menu
Coddy logo textTech

Wyzwanie: znajdź iloczyn

Część sekcji Podstawy ścieżki Dart w Coddy. Lekcja 94 z 94.

challenge icon

Wyzwanie

Łatwy

W tym wyzwaniu poćwiczysz używanie metody find z listami, aby znajdować konkretne elementy na podstawie warunków.

Masz listę produktów w koszyku, reprezentowanych jako mapy zawierające nazwę, cenę i ilość. Twoim zadaniem jest uzupełnienie funkcji findProduct, która wyszukuje produkt w koszyku po nazwie.

Funkcja powinna zwrócić pierwszy produkt pasujący do podanej nazwy albo null, jeśli nie znaleziono pasującego produktu.

Uzupełnij kod, aby prawidłowo zaimplementować tę funkcjonalność wyszukiwania.

Spróbuj swoich sił

void main() {
  // Koszyk zakupowy z produktami
  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}
  ];
  
  // Przetestuj funkcję findProduct
  Map<String, dynamic>? foundProduct = findProduct(shoppingCart, 'Headphones');
  if (foundProduct != null) {
    print('Found: ${foundProduct['name']} - \$${foundProduct['price']} (Quantity: ${foundProduct['quantity']})');
  } else {
    print('Product not found');
  }
  
  // Przetestuj na produkcie, który nie istnieje
  foundProduct = findProduct(shoppingCart, 'Monitor');
  if (foundProduct != null) {
    print('Found: ${foundProduct['name']} - \$${foundProduct['price']} (Quantity: ${foundProduct['quantity']})');
  } else {
    print('Product not found');
  }
}

// TODO: Uzupełnij tę funkcję, aby wyszukiwała produkt po nazwie
Map<String, dynamic>? findProduct(List<Map<String, dynamic>> cart, String productName) {
  // TODO: Przejdź przez koszyk i zwróć pierwszy produkt, którego nazwa odpowiada productName
  // TODO: Zwróć null, jeśli nie znaleziono pasującego produktu
  
}

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Dart online