نظرة عامة على المشروع
جزء من قسم المنطق وتدفق التنفيذ في رحلة 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 بالتتابع
- تنشئ مصفوفة نتائج فارغة
- تنشئ عبارة switch بالحالات الأولية التالية:
listMovies: تضيفfestivalData.moviesإلى مصفوفةresultslistVenues: تضيفfestivalData.venuesإلى مصفوفةresultslistTickets: تضيفfestivalData.ticketsإلى مصفوفةresultslistScreenings: تضيفfestivalData.screeningsإلى مصفوفةresults- الحالة الافتراضية: تضيف "Invalid action!" إلى مصفوفة النتائج
- تعيد مصفوفة النتائج
جرّب بنفسك
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;
}جميع دروس المنطق وتدفق التنفيذ
1السلاسل النصية بالتفصيل
أساسيات السلاسل النصيةالتكرار على السلاسل النصيةالقوالب النصيةدوال السلاسل النصيةمراجعة - ناسج السلاسل النصية4JSON الجزء الثاني
التكرار على عناصر JSONJSON المتداخلالتسلسل الاختياري في JSONالنسخ السطحي والعميقمراجعة - متجر الدراجاتمراجعة - النظام الشمسي10إدارة نظام المهرجان
نظرة عامة على المشروعإضافة الأفلام ودور العرض2المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفة ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة: المصفوفات ثنائية الأبعادجمع المصفوفات وطرحهاالمصفوفات متعرجة الأبعادالمصفوفات ثلاثية الأبعاد وما بعدهاأنماط شائعة للمصفوفات ثنائية الأبعادمراجعة: كل ما يتعلق بالمصفوفات5المجموعات - الجزء الأول
ما هي المجموعة؟التكرار على عناصر المجموعةإضافة عنصرإزالة عنصرالتحقق من وجود عنصرالحجم والتحقق من الفراغالنسخ والمسحمراجعة - أساسيات المجموعات8موضوعات شيقة حول المصفوفات
تفكيك المصفوفاتصياغة الانتشار في المصفوفاتالمصفوفات المتناثرةمراجعة - ورشة عمل حول المصفوفات3JSON الجزء 1
ما هو JSON؟التحقق من وجود المفتاحطرق الكائنعامل الانتشار الجزء 1عامل الانتشار الجزء 2حذف المفاتيحمراجعة - معالجة المفاتيح في JSONتدرّب بنفسك: مترجم JavaScript عبر الإنترنت