Menu
Coddy logo textTech

Wyszukiwanie według tytułu

Część sekcji Logika i przepływ programu ścieżki JavaScript w Coddy. Lekcja 44 z 65.

challenge icon

Wyzwanie

Łatwy

Utwórz nowy przypadek searchByTitle w instrukcji switch. Ta akcja powinna wyszukiwać książki według ich tytułu.

W przypadku searchByTitle:

  1. Parametr currentData to ciąg znaków, którego należy szukać
  2. Utwórz pustą tablicę searchResults, aby przechowywać wyniki wyszukiwania
  3. Przejdź przez wszystkie książki w bibliotece
  4. Dla każdej książki sprawdź, czy jej tytuł zawiera szukany ciąg znaków
  5. Wyszukiwanie powinno ignorować wielkość liter (przed porównaniem zamień oba ciągi na małe litery)
  6. Jeśli zostanie znalezione dopasowanie, dodaj książkę do tablicy searchResults
  7. Dodaj tablicę searchResults do głównej tablicy results

Spróbuj swoich sił

// 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;
}

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator JavaScript online