Menu
Coddy logo textTech

Suche nach Titel

Teil des Abschnitts Logik & Ablauf der JavaScript-Journey von Coddy — Lektion 44 von 65.

challenge icon

Aufgabe

Einfach

Erstellen Sie einen neuen Fall searchByTitle in Ihrer switch-Anweisung. Diese Aktion soll nach Büchern anhand ihres Titels suchen.

Für den Fall searchByTitle:

  1. Der Parameter currentData ist ein String, nach dem gesucht werden soll
  2. Erstellen Sie ein leeres Array searchResults, um die Suchergebnisse zu speichern
  3. Iterieren Sie durch alle Bücher in der Bibliothek
  4. Prüfen Sie für jedes Buch, ob sein Titel den Suchstring enthält
  5. Die Suche sollte unabhängig von der Groß-/Kleinschreibung sein (konvertieren Sie beide Strings in Kleinbuchstaben, bevor Sie sie vergleichen)
  6. Wenn eine Übereinstimmung gefunden wird, fügen Sie das Buch dem Array searchResults hinzu
  7. Fügen Sie das Array searchResults dem Haupt-Array results hinzu

Probier es selbst

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

Alle Lektionen in Logik & Ablauf