Menu
Coddy logo textTech

Présentation du projet

Fait partie de la section Logique & Flux du Journey JavaScript de Coddy — leçon 60 sur 65.

challenge icon

Défi

Facile

Vous allez créer un système de gestion de festival de cinéma. Commencez par initialiser le système avec les données fournies et par créer la structure de la fonction principale.

Créez une variable appelée festivalData avec ces données initiales exactes :

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

Créez une fonction appelée manageFestival qui prend deux paramètres :

  • actions (tableau de chaînes de caractères)
  • data (tableau d'objets)

La fonction doit :

  1. Traiter chaque action du tableau actions dans l'ordre
  2. Créer un tableau results vide
  3. Créer une instruction switch avec les cas initiaux suivants :
    • listMovies : ajoute festivalData.movies au tableau results
    • listVenues : ajoute festivalData.venues au tableau results
    • listTickets : ajoute festivalData.tickets au tableau results
    • listScreenings : ajoute festivalData.screenings au tableau results
    • default : ajoute "Invalid action!" au tableau results
  4. Retourner le tableau results

Essayez vous-même


const festivalData = {}; // Remplir les données initiales

function manageFestival(actions, data) {
    let results = [];
    
    actions.forEach((action, index) => {
        const currentData = data[index];
        
        switch(action) {
            case "listMovies":
               // Écrivez votre code ici

            case "listVenues":
               // Écrivez votre code ici

            case "listTickets":
                // Écrivez votre code ici

            case "listScreenings":
                // Écrivez votre code ici
                
            default:
                results.push("Invalid action!");
        }
    });
    
    return results;
}

Toutes les leçons de Logique & Flux