Menu
Coddy logo textTech

Visão Geral do Projeto

Parte da seção Lógica & Fluxo do Journey de JavaScript da Coddy — lição 60 de 65.

challenge icon

Desafio

Fácil

Você criará um Sistema de Gerenciamento de Festival de Cinema. Comece inicializando o sistema com os dados fornecidos e criando a estrutura da função principal.

Crie uma variável chamada festivalData com estes dados iniciais exatos:

{
	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()
}

Crie uma função chamada manageFestival que recebe dois parâmetros:

  • actions (array de strings)
  • data (array de objetos)

A função deve:

  1. Processar cada ação no array actions em sequência
  2. Criar um array results vazio
  3. Criar uma instrução switch com os seguintes casos iniciais:
    • listMovies: adiciona festivalData.movies ao array results
    • listVenues: adiciona festivalData.venues ao array results
    • listTickets: adiciona festivalData.tickets ao array results
    • listScreenings: adiciona festivalData.screenings ao array results
    • default: adiciona "Invalid action!" ao array results
  4. Retornar o array results

Experimente você mesmo


const festivalData = {}; // Preencher dados iniciais

function manageFestival(actions, data) {
    let results = [];
    
    actions.forEach((action, index) => {
        const currentData = data[index];
        
        switch(action) {
            case "listMovies":
               // Escreva seu código aqui

            case "listVenues":
               // Escreva seu código aqui

            case "listTickets":
                // Escreva seu código aqui

            case "listScreenings":
                // Escreva seu código aqui
                
            default:
                results.push("Invalid action!");
        }
    });
    
    return results;
}

Todas as lições de Lógica & Fluxo