Обзор проекта
Часть раздела Логика и поток путешествия по 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), который добавляет "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;
}
Все уроки раздела Логика и поток
1Строки в деталях
Основы работы со строкамиИтерация по строкамШаблонные литералыМетоды строкИтоги — String Weaver4JSON Часть 2
Итерация по JSONВложенный JSONОпциональная цепочка JSONПоверхностное и глубокое копированиеПовторение — Магазин велосипедовПовторение — Солнечная система7Система управления библиотекой
Обзор проектаДобавление книг10Управление системой фестиваля
Обзор проектаДобавление фильмов и площадок2Многомерные массивы
Основы 2D массивовДоступ к элементам 2D массиваВложенные циклы и 2D массивыПовторение: 2D массивыСложение и вычитание матрицСтупенчатые массивы3D массивы и далееРаспространенные паттерны 2D массивовПовторение: всё о массивах5Множества. Часть 1
Что такое множество?Итерация по множествамДобавление элементаУдаление элементаПроверка наличия элементаРазмер и проверка на пустотуКопирование и очисткаИтоги — Основы множеств8Интересные темы о массивах
Деструктуризация массивовСинтаксис Spread в массивахРазреженные массивыИтоги — Воркшоп по массивам3JSON. Часть 1
Что такое JSON?Проверка наличия ключаМетоды объектовОператор spread. Часть 1Оператор spread. Часть 2Удаление ключейПовторение: манипуляции с ключами JSON