Menu
CoddyTech

Wyzwanie: znajdź iloczyn

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

challenge icon

Wyzwanie

Łatwy

W tym wyzwaniu poćwiczysz iterowanie po liście, aby znaleźć pierwszy element spełniający warunek.

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 na podstawie nazwy.

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

Uzupełnij kod, aby poprawnie zaimplementować tę funkcję 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 z produktem, 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 według nazwy
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