Menu
Coddy logo textTech

Обзор проекта

Часть раздела Логика и поток путешествия по 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. Добавьте случай по умолчанию (default), который добавляет "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;
}

Все уроки раздела Логика и поток