CodeBlanks Logo Icon CodeBlanks

Sepeti listeleme

Sepeti formatlı yazdıran metodu yazarsın.

Sepeti listeleme

Sepetteki ürünleri ekrana yazdırmak için printCart metodunu yazacağız. Bu metot this.items dizisini gezer ve her ürünün ad, fiyat ve miktarını bir satıra yazar.

for...of ile her ürünü gezersin; her yinelemede console.log(p.name + " " + p.price + " " + p.quantity); ile bir satır basarsın. Üç alanı boşlukla ayırmak, çıktının okunabilir olmasını sağlar. Metot bir değer döndürmez; yalnızca ekrana yazar.

Formatlı çıktı

printCart'ta her ürün tek satırda yazılırken alanlar arasında boşluk kullanılır. console.log(p.name + " " + p.price + " " + p.quantity) yazımı üç alanı boşlukla ayırır ve yeni satıra geçer.

Boşluk yerine virgül veya tire de kullanılabilir; biçimlendirme tercihi senin. Bu projede boşlukla ayıracağız; sütun hizalaması gerektirse .padStart ile sabit genişlik verilebilirdi. Üç alanı tek satırda yazmak, sepetin hızlıca gözden geçirilmesini sağlar.

Uygulama printCart metodunu yaz

Cart sınıfına bir printCart metodu ekle. İmzası printCart() olmalı. Gövdede for (const p of this.items) ile her ürünü gez ve console.log(p.name + " " + p.price + " " + p.quantity); ile yazdır. main iki ürün ekleyip printCart'ı çağırıyor. Çıktı iki satır olmalı: Defter 25 2 ve Kalem 10 3.

Başlangıç kodu

index.js
class Cart {
    constructor() {
        this.items = [];
    }
    addItem(product) {
        this.items.push(product);
    }
    getSubtotal() {
        let sum = 0;
        for (const p of this.items) {
            sum += p.price * p.quantity;
        }
        return sum;
    }
}
    // printCart metodunu buraya yaz
}

// Test
const cart = new Cart();
cart.addItem({ name: "Defter", price: 25, quantity: 2 });
cart.addItem({ name: "Kalem", price: 10, quantity: 3 });
cart.printCart();

Örnek çözüm

index.js
class Cart {
    constructor() {
        this.items = [];
    }
    addItem(product) {
        this.items.push(product);
    }
    getSubtotal() {
        let sum = 0;
        for (const p of this.items) {
            sum += p.price * p.quantity;
        }
        return sum;
    }
    printCart() {
        for (const p of this.items) {
            console.log(p.name + " " + p.price + " " + p.quantity);
        }
    }
}

// Test
const cart = new Cart();
cart.addItem({ name: "Defter", price: 25, quantity: 2 });
cart.addItem({ name: "Kalem", price: 10, quantity: 3 });
cart.printCart();

Beklenen çıktı

Defter 25 2
Kalem 10 3

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 printCart ne yapar?

index.js
cart.printCart();
  • Ürün çıkarır
  • Toplamı hesaplar
  • Sepeti ekrana yazar Doğru cevap
  • Ürün ekler

Açıklama: printCart sepetteki ürünleri ekrana yazdırır.

2 printCart gövdesini yaz

Soru
printCart() {
for (const p of this.items) {
    console.log(____);
}
}
Cevap
printCart() {
for (const p of this.items) {
    console.log(p.name + " " + p.price + " " + p.quantity);
}
}

Açıklama: Üç alan boşlukla birleştirilir.

3 Parçayı anlamına eşle

Kavram Anlamı
p.name Ürün adı
p.price Birim fiyat
p.quantity Miktar
console.log Ekrana yazar

Başlangıç bölümündeki tüm dersler