Menu
Coddy logo textTech

Défi : Trouver le produit

Fait partie de la section Fondamentaux du Journey Dart de Coddy — leçon 94 sur 94.

challenge icon

Défi

Facile

Dans ce défi, vous pratiquerez l'utilisation de la méthode find avec des listes pour localiser des éléments spécifiques en fonction de conditions.

Vous avez une liste de produits dans un panier d'achats, représentés sous forme de maps avec name, price et quantity. Votre tâche est de compléter la fonction findProduct qui recherche un produit par nom dans le panier.

La fonction doit retourner le premier produit qui correspond au nom donné, ou null s'il n'y a pas de correspondance.

Complétez le code pour implémenter correctement cette fonctionnalité de recherche.

Essayez vous-même

void main() {
  // Panier d'achat avec des produits
  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}
  ];
  
  // Test de la fonction 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');
  }
  
  // Test avec un produit qui n'existe pas
  foundProduct = findProduct(shoppingCart, 'Monitor');
  if (foundProduct != null) {
    print('Found: ${foundProduct['name']} - \$${foundProduct['price']} (Quantity: ${foundProduct['quantity']})');
  } else {
    print('Product not found');
  }
}

// TODO: Compléter cette fonction pour trouver un produit par nom
Map<String, dynamic>? findProduct(List<Map<String, dynamic>> cart, String productName) {
  // TODO: Parcourir le panier et retourner le premier produit qui correspond à productName
  // TODO: Retourner null si aucun produit correspondant n'est trouvé
  
}

Toutes les leçons de Fondamentaux