إضافة الأفلام والأماكن
جزء من قسم Logic & Flow في رحلة JavaScript على Coddy — الدرس 61 من 65.
التحدي
سهلأضف حالتين جديدتين إلى جملة switch الخاصة بك: addMovie و addVenue.
بالنسبة لـ addMovie، تحتوي معلمة data على:
- title (string)
- director (string)
- year (number)
- mainGenre (string)
- secondGenre (string)
يجب أن تقوم الوظيفة بـ:
- إنشاء كائن فيلم جديد يحتوي على:
- id: يتم إنشاؤه بإضافة 1 إلى طول مصفوفة movies
- title، و director، و year، و mainGenre، و secondGenre من data
- avgRating: 0
- available: true
- إضافة الفيلم إلى مصفوفة
festivalData.movies - إضافة
Movie added successfully!إلى مصفوفةresults
بالنسبة لـ addVenue، تحتوي معلمة data على:
- name (string)
- capacity (number)
يجب أن تقوم الوظيفة بـ:
- إنشاء كائن مكان (venue) جديد يحتوي على:
- id: يتم إنشاؤه بإضافة 1 إلى طول مصفوفة venues
nameوcapacityمن data
- إضافة المكان إلى مصفوفة
festivalData.venues - إضافة "Venue added successfully!" إلى مصفوفة
results
جرّب بنفسك
const 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()
}
function manageFestival(actions, data) {
let results = [];
actions.forEach((action, index) => {
const currentData = data[index];
switch(action) {
case "listMovies":
results.push(festivalData.movies);
break;
case "listVenues":
results.push(festivalData.venues);
break;
case "listTickets":
results.push(festivalData.tickets);
break;
case "listScreenings":
results.push(festivalData.screenings);
break;
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