Menu
Coddy logo textTech

Projeye Genel Bakış

Coddy'nin JavaScript Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 60 / 65.

challenge icon

Görev

Kolay

Bir Film Festivali Yönetim Sistemi oluşturacaksınız. Sağlanan verilerle sistemi başlatarak ve ana fonksiyon yapısını oluşturarak başlayın.

Aşağıdaki başlangıç verileriyle festivalData adında bir değişken oluşturun:

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

İki parametre alan manageFestival adında bir fonksiyon oluşturun:

  • actions (string dizisi)
  • data (nesne dizisi)

Fonksiyon şunları yapmalıdır:

  1. actions dizisindeki her bir işlemi sırayla işleyin
  2. Boş bir results dizisi oluşturun
  3. Aşağıdaki başlangıç durumlarına (cases) sahip bir switch ifadesi oluşturun:
    • listMovies: festivalData.movies verisini results dizisine ekler
    • listVenues: festivalData.venues verisini results dizisine ekler
    • listTickets: festivalData.tickets verisini results dizisine ekler
    • listScreenings: festivalData.screenings verisini results dizisine ekler
    • default: results dizisine "Invalid action!" ekler
  4. results dizisini döndürün

Kendin dene


const festivalData = {}; // Başlangıç verilerini doldurun

function manageFestival(actions, data) {
    let results = [];
    
    actions.forEach((action, index) => {
        const currentData = data[index];
        
        switch(action) {
            case "listMovies":
               // Kodunuzu buraya yazın

            case "listVenues":
               // Kodunuzu buraya yazın

            case "listTickets":
                // Kodunuzu buraya yazın

            case "listScreenings":
                // Kodunuzu buraya yazın
                
            default:
                results.push("Invalid action!");
        }
    });
    
    return results;
}

Mantık ve Akış bölümündeki tüm dersler