نظرة عامة على المشروع
جزء من قسم Logic & Flow في رحلة JavaScript على Coddy — الدرس 42 من 65.
التحدي
سهلستعمل على إنشاء نظام لإدارة المكتبة. ابدأ بتهيئة النظام بالبيانات المقدمة وإنشاء هيكل الوظيفة الرئيسية.
قم بإنشاء متغير يسمى libraryData بهذه البيانات الأولية المحددة:
{
books: [
{
id: 1,
title: "The Great Gatsby",
author: "F. Scott Fitzgerald",
year: 1925,
genre: "Fiction",
isRead: false,
rating: 0,
borrowed: false,
borrowedBy: "",
borrowDate: ""
}
],
readers: [
{
name: "John Smith",
favoriteGenre: "Fiction",
}
]
}الآن اتبع الخطوات التالية:
قم بإنشاء وظيفة تسمى manageLibrary تأخذ معاملين:
actions(مصفوفة من السلاسل النصية)data(مصفوفة من الكائنات)
يجب أن تقوم الوظيفة بمعالجة كل إجراء في مصفوفة actions بالتسلسل، باستخدام كائن البيانات المقابل من مصفوفة data عند نفس الفهرس. على سبيل المثال، الإجراء عند actions[i] يستخدم البيانات عند data[i].
قم بإنشاء حلقة تكرارية تمر عبر كل إجراء في مصفوفة actions، ثم داخل الحلقة:
- قم بإنشاء مصفوفة نتائج فارغة ستحتوي على جميع النتائج
- قم بإنشاء جملة switch ستتعامل مع الحالات المختلفة
- أضف حالة
printBooksداخل جملة switch ستقوم بإضافة الكتب الحالية داخلlibraryDataإلى مصفوفةresults - أضف حالة
printReadersداخل جملة switch ستقوم بإضافة القراء الحاليين داخلlibraryDataإلى مصفوفةresults - أضف حالة افتراضية (default case) تضيف "Invalid action!" إلى مصفوفة
results
جرّب بنفسك
// بيانات المكتبة الأولية
let libraryData = {}
function manageLibrary(actions, data) {
let results = [];
for (let i = 0; i < actions.length; i++) {
const currentAction = actions[i];
const currentData = data[i];
switch (currentAction) {
case 'printBooks':
// اكتب كودك هنا
case 'printReaders':
// اكتب كودك هنا
default:
results.push("Invalid action!");
}
}
return results;
}
جميع دروس Logic & Flow
1السلاسل النصية بعمق
أساسيات السلاسل النصيةالتكرار عبر السلاسل النصيةTemplate Literalsدوال السلاسل النصيةمراجعة - String Weaver2المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات5المجموعات - الجزء الأول
ما هي المجموعة؟التكرار عبر المجموعاتإضافة عنصرإزالة عنصرالتحقق من وجود عنصرالحجم وهل هي فارغةالنسخ والمسحملخص - أساسيات المجموعات8مواضيع شيقة حول الـ Arrays
تفكيك الـ Arrayاستخدام الـ Spread Syntax في الـ Arraysالـ Sparse Arraysمراجعة - ورشة عمل الـ Arrays3JSON الجزء الأول
ما هو JSON؟التحقق من وجود المفتاحObject MethodsSpread Operator الجزء الأولSpread Operator الجزء الثانيحذف المفاتيحمراجعة - معالجة مفاتيح JSON