شراء التذاكر
جزء من قسم Logic & Flow في رحلة JavaScript على Coddy — الدرس 63 من 65.
التحدي
سهلأضف الحالة buyTicket التي تتعامل مع عمليات شراء التذاكر. تحتوي معلمة البيانات (data) على:
- screeningId (رقم)
- quantity (رقم)
يجب أن تقوم الدالة بـ:
- التحقق مما إذا كان العرض (screening) موجوداً ولديه مقاعد كافية متاحة
- إذا لم يتم العثور عليه، أضف
Screening not found!إلى مصفوفة النتائج (results) - إذا لم تكن هناك مقاعد كافية، أضف
Not enough seats available!إلى مصفوفة النتائج (results)
- إذا لم يتم العثور عليه، أضف
- إنشاء معرفات التذاكر (ticket IDs) باتباع هذا التنسيق بدقة:
- لكل تذكرة، قم بإنشاء المعرف كـ:
${screeningId}-${currentAvailableSeats} - مثال: إذا كان screeningId هو 1 و availableSeats هو 200، والكمية (quantity) هي 2:
- معرف التذكرة الأولى سيكون "1-200"
- معرف التذكرة الثانية سيكون "1-199"
- لكل تذكرة، قم بإنشاء المعرف كـ:
- إضافة كل معرف تذكرة إلى مجموعة
festivalData.tickets - طرح الكمية (quantity) من المقاعد المتاحة (availableSeats) الخاصة بالعرض
- إضافة
Tickets purchased successfully!إلى مصفوفةresults
جرّب بنفسك
// لا تحذف الأسطر أدناه
const util = require('util');
util.inspect.defaultOptions.maxArrayLength = null;
// ---------------------------
جميع دروس 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