شراء التذاكر
جزء من قسم المنطق وتدفق التنفيذ في رحلة 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;
// ---------------------------
جميع دروس المنطق وتدفق التنفيذ
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 عبر الإنترنت