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 (matriz de cadenas)
  • data (matriz de objetos)

La función debe:

  1. Procesar cada acción de la matriz actions en secuencia
  2. Crear una matriz de resultados vacía
  3. Crear una instrucción switch con los siguientes casos iniciales:
    • listMovies: añade festivalData.movies a la matriz results
    • listVenues: añade festivalData.venues a la matriz results
    • listTickets: añade festivalData.tickets a la matriz results
    • listScreenings: añade festivalData.screenings a la matriz results
    • default: añade "Invalid action!" a la matriz results
  4. Devolver la matriz 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

Practica por tu cuenta: Compilador de JavaScript online