Menu
CoddyTech

Thêm phim và địa điểm

Thuộc phần Logic và luồng chương trình trong hành trình JavaScript của Coddy. Bài học 61 trên 65.

challenge icon

Thử thách

Dễ

Thêm hai nhánh mới vào câu lệnh switch: addMovie và addVenue.

Với addMovie, tham số data chứa:

  • title (chuỗi)
  • director (chuỗi)
  • year (số)
  • mainGenre (chuỗi)
  • secondGenre (chuỗi)

Hàm này cần:

  1. Tạo một đối tượng phim mới với:
    • id: tạo bằng cách cộng 1 vào độ dài của mảng movies
    • title, director, year và mainGenre, secondGenre lấy từ data
    • avgRating: 0
    • available: true
  2. Thêm phim vào mảng festivalData.movies
  3. Thêm Movie added successfully! vào mảng results

Với addVenue, tham số data chứa:

  • name (chuỗi)
  • capacity (số)

Hàm này cần:

  1. Tạo một đối tượng địa điểm mới với:
    • id: tạo bằng cách cộng 1 vào độ dài của mảng venues
    • name và capacity lấy từ data
  2. Thêm địa điểm vào mảng festivalData.venues
  3. Thêm Venue added successfully! vào mảng results

Tự làm thử

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

function manageFestival(actions, data) {
    let results = [];
    
    actions.forEach((action, index) => {
        const currentData = data[index];
        
        switch(action) {
            case "listMovies":
                results.push(festivalData.movies);
                break;
                
            case "listVenues":
                results.push(festivalData.venues);
                break;

            case "listTickets":
                results.push(festivalData.tickets);
                break;

            case "listScreenings":
                results.push(festivalData.screenings);
                break;
                
            default:
                results.push("Invalid action!");
        }
    });
    
    return results;
}

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch JavaScript online