Menu
CoddyTech

Tổng quan dự án

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 42 trên 65.

challenge icon

Thử thách

Dễ

Bạn sẽ tạo một hệ thống quản lý thư viện. Hãy bắt đầu bằng cách khởi tạo hệ thống với dữ liệu được cung cấp và tạo cấu trúc hàm chính.

Tạo một biến có tên libraryData với dữ liệu khởi tạo chính xác như sau:

{
    books: [
        {
            id: 1,
            title: "The Great Gatsby",
            author: "F. Scott Fitzgerald",
            year: 1925,
            genre: "Fiction",
            isRead: false,
            rating: 0,
            borrowed: false,
            borrowedBy: "",
            borrowDate: ""
        }
    ],
    readers: [
        {
            name: "John Smith",
            favoriteGenre: "Fiction",
        }
    ]
}

Bây giờ, hãy làm theo các bước sau:

Tạo một hàm có tên manageLibrary nhận hai tham số:

  • actions (mảng chuỗi)
  • data (mảng đối tượng)

Hàm cần xử lý lần lượt từng hành động trong mảng actions, sử dụng đối tượng dữ liệu tương ứng từ mảng data tại cùng chỉ số. Ví dụ, hành động tại actions[i] sử dụng dữ liệu tại data[i].

Tạo một vòng lặp đi qua từng hành động trong mảng actions, rồi bên trong vòng lặp:

  1. Tạo một mảng kết quả rỗng để chứa tất cả kết quả
  2. Tạo câu lệnh switch để xử lý các trường hợp khác nhau
  3. Thêm trường hợp printBooks bên trong câu lệnh switch để thêm các sách hiện có trong libraryData vào mảng results
  4. Thêm trường hợp printReaders bên trong câu lệnh switch để thêm các độc giả hiện có trong libraryData vào mảng results
  5. Thêm trường hợp mặc định để thêm “Invalid action!” vào mảng results

Tự làm thử

// Dữ liệu thư viện ban đầu
let libraryData = {}


function manageLibrary(actions, data) {
    let results = [];

    for (let i = 0; i < actions.length; i++) {
        const currentAction = actions[i];
        const currentData = data[i];
        
        switch (currentAction) {
            case 'printBooks':
                // Viết code của bạn ở đây
            case 'printReaders':
                // Viết code của bạn ở đây
            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