CodeBlanks Logo Icon CodeBlanks

Görev listeleme

listTasks ile görevleri formatlı yazdırmayı öğrenirsin.

Görev listeleme

Görev ekledikten sonra onları ekrana yazdırman gerekir. Bunun için listTasks(tasks) fonksiyonunu yazacaksın. Bu fonksiyon, diziyi gezip her görevi formatlı bir satır olarak yazdırır.

Listeyi gezmek için forEach metodu uygundur: tasks.forEach((t, i) => console.log(...)). Burada t görev nesnesi, i ise sıra numarasıdır. Her görev için (i + 1) + '. ' + t.title biçiminde bir satır yazdırılır.

Örnek: iki görevli bir listede çıktı şöyledir: 1. Ekmek al ve 2. Süt al. i + 1 kullanmamızın nedeni, dizi indeksinin 0'dan başlaması ama insanların 1'den saymayı tercih etmesidir.

Formatlı çıktı

Liste yazdırırken görevleri okunaklı biçimde sunmak önemlidir. Her satırda sıra numarası, nokta ve görev başlığı bulunur: (i + 1) + '. ' + t.title.

JavaScript'te dize birleştirme + operatörüyle yapılır. Sayı ile dizeyi topladığında sonuç dize olur: 1 + '. ' ifadesi '1. ' dizesini verir. Buna t.title eklenince tam satır elde edilir.

İki görevli bir listede çıktı iki satırlık olur. Her satır console.log ile ayrı ayrı yazdırılır; böylece her görev kendi satırında görünür.

Uygulama İki görevi listele

listTasks(tasks) fonksiyonunu tanımla. Gövdesi tasks.forEach((t, i) => console.log((i + 1) + '. ' + t.title)) çağrısı yapsın. Önceki addTask fonksiyonu başlangıç kodunda verildi. İki görev ekle ve listTasks(tasks) ile listele.

Başlangıç kodu

index.js
function addTask(tasks, title) {
  tasks.push({ title, done: false });
}
// listTasks fonksiyonunu tanımla, iki görev ekle ve listele

Örnek çözüm

index.js
function addTask(tasks, title) {
  tasks.push({ title, done: false });
}
function listTasks(tasks) {
  tasks.forEach((t, i) => console.log((i + 1) + '. ' + t.title));
}
const tasks = [];
addTask(tasks, 'Ekmek al');
addTask(tasks, 'Süt al');
listTasks(tasks);

Beklenen çıktı

1. Ekmek al
2. Süt al

Soru ve cevaplar

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

1 Liste çıktısı nasıl başlar?

  • 1. Ekmek al Doğru cevap
  • 0. Ekmek al
  • Ekmek al
  • [0] Ekmek al

Açıklama: i + 1 ile indeks 0 olan ilk görev 1 numarayla yazdırılır.

2 Listeleme parçalarını eşle

Kavram Anlamı
forEach Diziyi gezme metodu
(t, i) Callback parametreleri
i + 1 Sıra numarası
t.title Görev başlığı

3 Formatlı satır

Soru
tasks.forEach((t, i) => console.log((i + 1) + '. ' + ____));
Cevap
tasks.forEach((t, i) => console.log((i + 1) + '. ' + t.title));

Açıklama: t.title ile görev başlığı satıra eklenir.

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