Добавление фильмов и площадок
Часть раздела Логика и поток путешествия по JavaScript на Coddy — урок 61 из 65.
Задание
ЛегкоДобавьте два новых случая (cases) в ваш оператор switch: addMovie и addVenue.
Для addMovie параметр data содержит:
- title (string)
- director (string)
- year (number)
- mainGenre (string)
- secondGenre (string)
Функция должна:
- Создать новый объект фильма с:
- id: генерируется путем добавления 1 к длине массива movies
- title, director, year, а также mainGenre, secondGenre из данных
- avgRating: 0
- available: true
- Добавить фильм в массив
festivalData.movies - Добавить
Movie added successfully!в массивresults
Для addVenue параметр data содержит:
- name (string)
- capacity (number)
Функция должна:
- Создать новый объект площадки с:
- id: генерируется путем добавления 1 к длине массива venues
nameиcapacityиз данных
- Добавить площадку в массив
festivalData.venues - Добавить
Venue added successfully!в массивresults
Попробуйте сами
const festivalData = {
movies: [{
id: 1,
title: "Inception",
director: "Christopher Nolan",
year: 2010,
mainGenre: "Sci-Fi",
secondGenre: undefined,
avgRating: 0,
available: true
}],
venues: [{
id: 1,
name: "Main Theater",
capacity: 200,
}],
screenings: [{
id: 1,
movieId: 1,
venueId: 1,
date: '2023-10-29',
time: '13:35:00',
availableSeats: 200
}],
tickets: new Set()
}
function manageFestival(actions, data) {
let results = [];
actions.forEach((action, index) => {
const currentData = data[index];
switch(action) {
case "listMovies":
results.push(festivalData.movies);
break;
case "listVenues":
results.push(festivalData.venues);
break;
case "listTickets":
results.push(festivalData.tickets);
break;
case "listScreenings":
results.push(festivalData.screenings);
break;
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