Menu
Coddy logo textTech

Вызов: Найти произведение

Часть раздела Основы путешествия по Dart на Coddy — урок 94 из 94.

challenge icon

Задание

Легко

В этом вызове вы попрактикуетесь в использовании метода find со списками для поиска конкретных элементов на основе условий.

У вас есть список продуктов в корзине покупок, представленный в виде карт с name, price и quantity. Ваша задача — завершить функцию findProduct, которая ищет продукт по имени в корзине.

Функция должна возвращать первый продукт, совпадающий с заданным именем, или null, если совпадение не найдено.

Завершите код, чтобы правильно реализовать эту функциональность поиска.

Попробуйте сами

void main() {
  // Корзина покупок с продуктами
  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}
  ];
  
  // Тестируем функцию 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');
  }
  
  // Тест с продуктом, которого не существует
  foundProduct = findProduct(shoppingCart, 'Monitor');
  if (foundProduct != null) {
    print('Found: ${foundProduct['name']} - \$${foundProduct['price']} (Quantity: ${foundProduct['quantity']})');
  } else {
    print('Product not found');
  }
}

// TODO: Завершите эту функцию для поиска продукта по имени
Map<String, dynamic>? findProduct(List<Map<String, dynamic>> cart, String productName) {
  // TODO: Пройдитесь по корзине и верните первый продукт, соответствующий productName
  // TODO: Верните null, если подходящий продукт не найден
  
}

Все уроки раздела Основы