Skoru hesaplama
if ile doğru cevabı kontrol eder ve skor sayacını artırırsın.
Skor toplayıcısı
Doğru cevap sayısını tutmak için toplayıcı desenini kullanırız: döngüden önce let score = 0; ile sıfırdan başlatırız, doğru her cevapta score++ ile bir artırırız.
score++, score = score + 1 ile aynı anlama gelir; değişkenin değerini bir artırır. Döngü bitince score bize toplam doğru sayısını verir.
Katı eşitlik ile kontrol
Cevabın doğru olup olmadığını kontrol etmek için katı eşitlik işleci === kullanırız. === hem değeri hem de türü karşılaştırır; == ise tür dönüştürme yapar ve beklenmedik sonuçlar verebilir.
Soru nesnemizdeki answer alanı bir sayıdır (örneğin 1). parseInt ile aldığımız cevap da sayıdır. İkisini === ile karşılaştırırız: userAnswer === q.answer. Eşitse score'u bir artırırız.
Uygulama Skoru hesapla
Önceki dersin koduna bir score toplayıcısı ekle. Döngüden önce let score = 0; ile başlat. Döngü gövdesinde parseInt ile aldığın userAnswer'ı q.answer ile === kullanarak karşılaştır; eşitse score++ ile bir artır. Döngüden sonra console.log("Skor:", score) ile sonucu yazdır.
Örnek çözümü göster
// Quiz sorularını tanımla
const questions = [
{ question: "Türkiye'nin başkenti?", options: ["İzmir", "Ankara", "Bursa"], answer: 1 },
{ question: "En çok yağış alan il?", options: ["Rize", "Konya", "Ankara"], answer: 0 }
];
// Kullanıcı cevapları (seçenek indeksleri string olarak)
const userAnswers = ["1", "0"];
let score = 0;
let answerIndex = 0;
for (const q of questions) {
const userAnswer = parseInt(userAnswers[answerIndex]);
if (userAnswer === q.answer) {
score++;
}
answerIndex++;
}
console.log("Skor:", score);
Kendini test et
-
score++ ifadesi ne yapar?
- score değişkenini sıfırlar
- score değişkenini iki katına çıkarır
- score değişkeninin değerini döndürür ama değiştirmez
- score değişkeninin değerini bir artırır
Cevabı göster
score değişkeninin değerini bir artırır — Doğru! score++ eşittir score = score + 1; değeri bir artırır.
-
if koşulunu tamamla
if (userAnswer ____ q.answer) { score++; }Cevabı göster
if (userAnswer === q.answer) { score++; } -
İfadeyi anlamına eşleştir
- let score = 0
- Sayacı sıfırdan başlatır
- userAnswer === q.answer
- Doğruluğu katı eşitlikle kontrol eder
- score++
- Skoru bir artırır
- console.log(score)
- Skoru ekrana yazdırır