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

Practica por tu cuenta: Compilador de JavaScript online