Node.js
Görev tamamlama
completeTask ile görev durumunu güncellemeyi öğrenirsin.
Görev tamamlama
Bir görevi tamamlandı işaretlemek için done özelliğini true yapman gerekir. Bunun için completeTask(tasks, index) fonksiyonunu yazacaksın.
Gövde şöyledir: if (index < tasks.length) { tasks[index].done = true; }. Önce indeksin sınırlar içinde olduğunu kontrol edersin; ardından o konumdaki görevin done özelliğini true yaparsın. Geçersiz indeks sessizce yok sayılır.
Aynı zamanda listTasks'ı güncelleyeceksin: done true ise [x], false ise [ ] gösterecek. Böylece kullanıcı hangi görevin tamamlandığını bir bakışta görür.
İndeks kontrolü
completeTask çağrıldığında indeksin geçerli olduğunu kontrol etmek gerekir. if (index < tasks.length) ile indeksin dizi sınırları içinde olduğunu doğrularsın. Geçersiz indeks sessizce yok sayılır; hata fırlatılmaz.
Bu kontrol, kullanıcı yanlış numara girdiğinde uygulamanın çökmesini önler. Örneğin 2 görevli bir listede completeTask(tasks, 10) çağrısı hiçbir şey yapmaz; tasks[10] undefined olur ve .done erişimi hata verirdi.
Bu desen JavaScript'te yaygındır: dizi erişiminden önce sınırları kontrol etmek güvenli kod yazmanın temelidir. Negatif indeksler de aynı şekilde ele alınır.
Uygulama Görevi tamamla ve listele
completeTask(tasks, index) fonksiyonunu tanımla. Gövdesi if (index < tasks.length) { tasks[index].done = true; } olsun. listTasks'ı güncelle: tasks.forEach((t, i) => console.log((t.done ? '[x] ' : '[ ] ') + t.title)). İki görev ekle, birinciyi tamamla, sonra listele.
Örnek çözümü göster
function addTask(tasks, title) {
tasks.push({ title, done: false });
}
function listTasks(tasks) {
tasks.forEach((t, i) => console.log((t.done ? '[x] ' : '[ ] ') + t.title));
}
function completeTask(tasks, index) {
if (index < tasks.length) {
tasks[index].done = true;
}
}
const tasks = [];
addTask(tasks, 'Ekmek al');
addTask(tasks, 'Süt al');
completeTask(tasks, 0);
listTasks(tasks);
Kendini test et
-
done değerini true yap
function completeTask(tasks, index) {
if (index < tasks.length) {
tasks[index].done = ____;
}
}
Cevabı göster
function completeTask(tasks, index) {
if (index < tasks.length) {
tasks[index].done = true;
}
}
-
Tamamlanan görev nasıl gösterilir?
- (i + 1) ile
- length ile
- title ile
- [x] ile
Cevabı göster
[x] ile — [x] işareti tamamlanan görevi, [ ] ise bekleyeni gösterir.
-
Tamamlama parçalarını eşle
- completeTask
- Tamamlama fonksiyonu
- tasks[index].done = true
- Tamamlama ataması
- [x]
- Tamamlanan görev işareti
- [ ]
- Bekleyen görev işareti
Sıradaki ders: Birleştirme