Menu
Coddy logo textTech

Sfida: trova il prodotto

Fa parte della sezione Fondamenti del percorso Dart di Coddy. Lezione 94 di 94.

challenge icon

Sfida

Facile

In questa sfida, ti eserciterai a usare il metodo find con le liste per individuare elementi specifici in base a determinate condizioni.

Hai una lista di prodotti in un carrello, rappresentati come mappe con nome, prezzo e quantità. Il tuo compito è completare la funzione findProduct che cerca un prodotto nel carrello in base al nome.

La funzione dovrebbe restituire il primo prodotto che corrisponde al nome indicato, oppure null se non viene trovata alcuna corrispondenza.

Completa il codice per implementare correttamente questa funzionalità di ricerca.

Provalo tu

void main() {
  // Carrello con prodotti
  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}
  ];
  
  // Verifica la funzione 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');
  }
  
  // Verifica con un prodotto che non esiste
  foundProduct = findProduct(shoppingCart, 'Monitor');
  if (foundProduct != null) {
    print('Found: ${foundProduct['name']} - \$${foundProduct['price']} (Quantity: ${foundProduct['quantity']})');
  } else {
    print('Product not found');
  }
}

// TODO: Completa questa funzione per trovare un prodotto per nome
Map<String, dynamic>? findProduct(List<Map<String, dynamic>> cart, String productName) {
  // TODO: Scorri il carrello e restituisci il primo prodotto che corrisponde a productName
  // TODO: Restituisci null se non viene trovato alcun prodotto corrispondente
  
}

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Dart online