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

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

جزء من قسم Logic & Flow في رحلة 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. إنشاء مصفوفة results فارغة
  3. إنشاء جملة switch مع الحالات الأولية التالية:
    • listMovies: تضيف festivalData.movies إلى مصفوفة results
    • listVenues: تضيف festivalData.venues إلى مصفوفة results
    • listTickets: تضيف festivalData.tickets إلى مصفوفة results
    • listScreenings: تضيف festivalData.screenings إلى مصفوفة results
    • default: تضيف "Invalid action!" إلى مصفوفة results
  4. إرجاع مصفوفة results

جرّب بنفسك


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;
}

جميع دروس Logic & Flow