Menu
CoddyTech

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 scorrere un elenco per individuare il primo elemento che soddisfa una condizione.

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

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

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

Provalo tu

void main() {
  // Carrello della spesa 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}
  ];
  
  // Testa 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');
  }
  
  // Testa 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