Menu
CoddyTech

نظرة عامة على المشروع

جزء من قسم المنطق وتدفق التنفيذ في رحلة JavaScript على Coddy. الدرس 42 من 65.

challenge icon

التحدي

سهل

ستنشئ نظامًا لإدارة مكتبة. ابدأ بتهيئة النظام باستخدام البيانات المقدمة وإنشاء البنية الأساسية للدالة.

أنشئ متغيرًا باسم 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، ثم نفّذ داخل الحلقة ما يلي:

  1. أنشئ مصفوفة نتائج فارغة لتحتوي على جميع النتائج
  2. أنشئ عبارة switch لمعالجة الحالات المختلفة
  3. أضف حالة printBooks داخل عبارة switch، بحيث تضيف الكتب الحالية الموجودة في libraryData إلى مصفوفة results
  4. أضف حالة printReaders داخل عبارة switch، بحيث تضيف القراء الحاليين الموجودين في libraryData إلى مصفوفة results
  5. أضف حالة افتراضية تضيف "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;
}

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم JavaScript عبر الإنترنت