Menu
CoddyTech

نظرة عامة على المشروع

جزء من قسم المنطق وتدفق التنفيذ في رحلة JavaScript على Coddy. الدرس 60 من 65.

challenge icon

التحدي

سهل

ستنشئ نظامًا لإدارة مهرجان سينمائي. ابدأ بتهيئة النظام بالبيانات المقدمة وإنشاء بنية الدالة الرئيسية.

أنشئ متغيرًا باسم festivalData بهذه البيانات الأولية الدقيقة:

{
	movies: [{
		id: 1,
		title: "Inception",
		director: "Christopher Nolan",
		year: 2010,
		mainGenre: "Sci-Fi",
		secondGenre: undefined,
		avgRating: 0,
		available: true
	}],
	venues: [{
		id: 1,
		name: "Main Theater",
		capacity: 200,
	}],
	screenings: [{
		id: 1,
		movieId: 1,
		venueId: 1,
		date: '2023-10-29',
		time: '13:35:00',
		availableSeats: 200
	}],
	tickets: new Set()
}

أنشئ دالة باسم manageFestival تأخذ وسيطين:

  • actions (مصفوفة من السلاسل النصية)
  • data (مصفوفة من الكائنات)

ينبغي للدالة أن:

  1. تعالج كل إجراء في مصفوفة actions بالتتابع
  2. تنشئ مصفوفة نتائج فارغة
  3. تنشئ عبارة switch بالحالات الأولية التالية:
    • listMovies: تضيف festivalData.movies إلى مصفوفة results
    • listVenues: تضيف festivalData.venues إلى مصفوفة results
    • listTickets: تضيف festivalData.tickets إلى مصفوفة results
    • listScreenings: تضيف festivalData.screenings إلى مصفوفة results
    • الحالة الافتراضية: تضيف "Invalid action!" إلى مصفوفة النتائج
  4. تعيد مصفوفة النتائج

جرّب بنفسك


const festivalData = {}; // املأ البيانات الأولية

function manageFestival(actions, data) {
    let results = [];
    
    actions.forEach((action, index) => {
        const currentData = data[index];
        
        switch(action) {
            case "listMovies":
               // اكتب الكود الخاص بك هنا

            case "listVenues":
               // اكتب الكود الخاص بك هنا

            case "listTickets":
                // اكتب الكود الخاص بك هنا

            case "listScreenings":
                // اكتب الكود الخاص بك هنا
                
            default:
                results.push("Invalid action!");
        }
    });
    
    return results;
}

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم JavaScript عبر الإنترنت