Menu
Coddy logo textTech

Descripción general del proyecto

Parte de la sección Lógica y Flujo del Journey de JavaScript de Coddy — lección 60 de 65.

challenge icon

Desafío

Fácil

Crearás un Sistema de Gestión de Festivales de Cine. Comienza inicializando el sistema con los datos proporcionados y creando la estructura de la función principal.

Crea una variable llamada festivalData con estos datos iniciales exactos:

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

Crea una función llamada manageFestival que reciba dos parámetros:

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

La función debe:

  1. Procesar cada acción en el array de acciones en secuencia
  2. Crear un array de resultados vacío
  3. Crear una sentencia switch con los siguientes casos iniciales:
    • listMovies: añade festivalData.movies al array results
    • listVenues: añade festivalData.venues al array results
    • listTickets: añade festivalData.tickets al array results
    • listScreenings: añade festivalData.screenings al array results
    • default: añade "Invalid action!" al array de resultados
  4. Retornar el array de resultados

Pruébalo tú mismo


const festivalData = {}; // Rellenar datos iniciales

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

            case "listVenues":
               // Escribe tu código aquí

            case "listTickets":
                // Escribe tu código aquí

            case "listScreenings":
                // Escribe tu código aquí
                
            default:
                results.push("Invalid action!");
        }
    });
    
    return results;
}

Todas las lecciones de Lógica y Flujo