Menu
Coddy logo textTech

Projeye Genel Bakış

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

challenge icon

Görev

Kolay

Bir kütüphane yönetim sistemi oluşturacaksınız. Sisteme sağlanan verilerle başlayın ve ana fonksiyon yapısını oluşturun.

Aşağıdaki tam başlangıç verilerini içeren libraryData adında bir değişken oluşturun:

{
    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",
        }
    ]
}

Şimdi şu adımları izleyin:

İki parametre alan manageLibrary adında bir fonksiyon oluşturun:

  • actions (dizelerden oluşan bir dizi)
  • data (nesnelerden oluşan bir dizi)

Fonksiyon, actions dizisindeki her bir işlemi sırayla işlemeli ve data dizisindeki aynı indekste bulunan karşılık gelen veri nesnesini kullanmalıdır. Örneğin, actions[i] konumundaki işlem, data[i] konumundaki veriyi kullanır.

Actions dizisindeki her bir işlemden geçen bir döngü oluşturun, ardından döngünün içinde:

  1. Tüm sonuçları tutacak boş bir sonuç dizisi oluşturun
  2. Farklı durumları ele alacak bir switch ifadesi oluşturun
  3. Switch ifadesinin içine, libraryData içindeki mevcut kitapları results dizisine ekleyecek bir printBooks durumu ekleyin
  4. Switch ifadesinin içine, libraryData içindeki mevcut okuyucuları results dizisine ekleyecek bir printReaders durumu ekleyin
  5. results dizisine "Invalid action!" ekleyen bir varsayılan (default) durum ekleyin

Kendin dene

// Başlangıç kütüphane verileri
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':
                // Kodunuzu buraya yazın
            case 'printReaders':
                // Kodunuzu buraya yazın
            default:
                results.push("Invalid action!");
        }
    }
    return results;
}

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