Menu
CoddyTech

Tìm kiếm theo tiêu đề

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

challenge icon

Thử thách

Dễ

Tạo một case mới searchByTitle trong câu lệnh switch. Hành động này sẽ tìm sách theo tiêu đề.

Với case searchByTitle:

  1. Tham số currentData là chuỗi cần tìm
  2. Tạo một mảng rỗng searchResults để lưu kết quả tìm kiếm
  3. Duyệt qua tất cả sách trong thư viện
  4. Với mỗi cuốn sách, kiểm tra xem tiêu đề có chứa chuỗi tìm kiếm hay không
  5. Phép tìm kiếm không phân biệt chữ hoa chữ thường, hãy chuyển cả hai chuỗi thành chữ thường trước khi so sánh
  6. Nếu tìm thấy kết quả khớp, thêm cuốn sách đó vào mảng searchResults
  7. Thêm mảng searchResults vào mảng results chính

Tự làm thử

// Initialize library data
const libraryData = {
    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",
        }
    ]
};

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':
                results.push(libraryData.books);
                break;
            case 'printReaders':
                results.push(libraryData.readers);
                break;
            case "addBook":
                // Add a new book to the library
                let newBook = {
                    id: libraryData.books.length + 1,
                    title: currentData.title,
                    author: currentData.author,
                    year: currentData.year,
                    genre: currentData.genre,
                    isRead: false,
                    rating: 0,
                    borrowed: false,
                    borrowedBy: "",
                    borrowDate: ""
                };
                libraryData.books.push(newBook);
                results.push("Book added successfully!");
                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