نظرة عامة على المشروع
جزء من قسم Logic & Flow في رحلة JavaScript على Coddy. الدرس 60 من 65.
التحدي
سهلستقوم بإنشاء نظام لإدارة مهرجان سينمائي. ابدأ بتهيئة النظام بالبيانات المقدمة وإنشاء هيكل الوظيفة الرئيسية.
قم بإنشاء متغير يسمى 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 (مصفوفة من الكائنات)
يجب أن تقوم الوظيفة بما يلي:
- معالجة كل إجراء في مصفوفة actions بالتسلسل
- إنشاء مصفوفة results فارغة
- إنشاء جملة switch مع الحالات الأولية التالية:
listMovies: تضيفfestivalData.moviesإلى مصفوفةresultslistVenues: تضيفfestivalData.venuesإلى مصفوفةresultslistTickets: تضيفfestivalData.ticketsإلى مصفوفةresultslistScreenings: تضيفfestivalData.screeningsإلى مصفوفةresults- default: تضيف "Invalid action!" إلى مصفوفة results
- إرجاع مصفوفة 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
1السلاسل النصية بعمق
أساسيات السلاسل النصيةالتكرار عبر السلاسل النصيةTemplate Literalsدوال السلاسل النصيةمراجعة - String Weaver4JSON الجزء الثاني
التكرار عبر JSONJSON المتداخلالتسلسل الاختياري في JSONالنسخ السطحي والعميقمراجعة - متجر الدراجاتمراجعة - النظام الشمسي10إدارة نظام المهرجان
نظرة عامة على المشروعإضافة الأفلام والأماكن2المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات5المجموعات - الجزء الأول
ما هي المجموعة؟التكرار عبر المجموعاتإضافة عنصرإزالة عنصرالتحقق من وجود عنصرالحجم وهل هي فارغةالنسخ والمسحملخص - أساسيات المجموعات8مواضيع شيقة حول الـ Arrays
تفكيك الـ Arrayاستخدام الـ Spread Syntax في الـ Arraysالـ Sparse Arraysمراجعة - ورشة عمل الـ Arrays3JSON الجزء الأول
ما هو JSON؟التحقق من وجود المفتاحObject MethodsSpread Operator الجزء الأولSpread Operator الجزء الثانيحذف المفاتيحمراجعة - معالجة مفاتيح JSONتدرّب بنفسك: مترجم JavaScript عبر الإنترنت