Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

تحدي: إيجاد حاصل الضرب

جزء من قسم Fundamentals في رحلة Dart على Coddy — الدرس 94 من 94.

challenge icon

التحدي

سهل

في هذا التحدي، ستتدرب على استخدام التابع find مع القوائم لتحديد عناصر معينة بناءً على شروط.

لديك قائمة من المنتجات في عربة تسوق، مُمثلة كخرائط (maps) تحتوي على '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 إذا لم يتم العثور على منتج مطابق
  
}

جميع دروس Fundamentals