Menu
Coddy logo textTech

Başlığa Göre Arama

Coddy'nin JavaScript Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 44 / 65.

challenge icon

Görev

Kolay

switch ifadenizde yeni bir searchByTitle case'i oluşturun. Bu işlem, kitapları başlıklarına göre aramalıdır.

searchByTitle case'i için:

  1. currentData parametresi, aranacak bir dizedir
  2. Arama sonuçlarını saklamak için boş bir searchResults dizisi oluşturun
  3. Kütüphanedeki tüm kitaplar arasında döngü kurun
  4. Her kitap için, başlığının arama dizesini içerip içermediğini kontrol edin
  5. Arama büyük/küçük harfe duyarsız olmalıdır (karşılaştırmadan önce her iki dizeyi de küçük harfe dönüştürün)
  6. Bir eşleşme bulunursa, kitabı searchResults dizisine ekleyin
  7. searchResults dizisini ana results dizisine ekleyin

Kendin dene

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

Mantık ve Akış bölümündeki tüm dersler