Görev listeleme
- Node.js kursu
- Başlangıç
- Ders 85/116
- 6 dk
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
function addTask(tasks, title) {
tasks.push({ title, done: false });
}
// listTasks fonksiyonunu tanımla, iki görev ekle ve listeleÖrnek çözüm
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
tasks.forEach((t, i) => console.log((i + 1) + '. ' + ____));
tasks.forEach((t, i) => console.log((i + 1) + '. ' + t.title));
Açıklama: t.title ile görev başlığı satıra eklenir.