Menu
Coddy logo textTech

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

Часть раздела Логика и поток путешествия по JavaScript на Coddy — урок 60 из 65.

challenge icon

Задание

Легко

Вы будете создавать систему управления кинофестивалем. Начните с инициализации системы с предоставленными данными и создания основной структуры функции.

Создайте переменную с именем 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()
}

Создайте функцию с именем manageFestival, которая принимает два параметра:

  • actions (массив строк)
  • data (массив объектов)

Функция должна:

  1. Последовательно обрабатывать каждое действие в массиве actions
  2. Создать пустой массив results
  3. Создать оператор switch со следующими начальными вариантами (cases):
    • listMovies: добавляет festivalData.movies в массив results
    • listVenues: добавляет festivalData.venues в массив results
    • listTickets: добавляет festivalData.tickets в массив results
    • listScreenings: добавляет festivalData.screenings в массив results
    • default: добавляет "Invalid action!" в массив results
  4. Вернуть массив results

Попробуйте сами


const festivalData = {}; // Заполните начальные данные

function manageFestival(actions, data) {
    let results = [];
    
    actions.forEach((action, index) => {
        const currentData = data[index];
        
        switch(action) {
            case "listMovies":
               // Напишите свой код здесь

            case "listVenues":
               // Напишите свой код здесь

            case "listTickets":
                // Напишите свой код здесь

            case "listScreenings":
                // Напишите свой код здесь
                
            default:
                results.push("Invalid action!");
        }
    });
    
    return results;
}

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