JavaScript
Soru gösterme ve cevap alma
for...of ile soruları sırayla gösterir ve kullanıcıdan cevap alırsın.
for...of ile soruları dolaşma
Soru dizisini sırayla dolaşmak için for...of döngüsünü kullanırız. Bu döngü her adımda dizinin bir elemanını verir:
for (const q of questions) { ... }
Burada q her adımda bir soru nesnesidir. Döngü gövdesinde q.question, q.options ve q.answer ile o sorunun verilerine erişiriz. for...of indekslerle uğraşmaz; değeri doğrudan verir.
Cevapları sayıya çevirme
Kullanıcının verdiği cevapları bir userAnswers dizisinde tutacağız. Her cevap, seçeneğin numarasını string olarak saklar: "1", "0" gibi.
Bu string değeri sayıya çevirmek için parseInt kullanırız. Örneğin parseInt(userAnswers[0]), "1" stringini 1 sayısına çevirir. Böylece q.options[userAnswer] gibi indeks erişimi yapabilir ve seçeneğin metnine ulaşabiliriz.
Uygulama Soruları göster ve cevapları al
Üstte tanımladığın questions dizisinin altına bir userAnswers dizisi ekle (her cevap bir string olsun: "1", "0"). Sonra bir answerIndex sayacı ile for...of döngüsü kur: her soruda parseInt(userAnswers[answerIndex]) ile cevabı sayıya çevir, console.log(q.question) ile soru metnini, console.log("Senin cevabın:", q.options[userAnswer]) ile seçilen seçeneği yazdır. Sonunda answerIndex'i bir artı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 answerIndex = 0;
for (const q of questions) {
const userAnswer = parseInt(userAnswers[answerIndex]);
console.log(q.question);
console.log("Senin cevabın:", q.options[userAnswer]);
answerIndex++;
}
Kendini test et
-
for (const q of questions) { ... } döngüsünde q her adımda ne olur?
- Sorunun indeksi (0, 1, 2, ...)
- Sorunun options dizisi
- Soru nesnesinin kendisi
- Doğru cevabın değeri
Cevabı göster
Soru nesnesinin kendisi — Doğru! for...of dizinin elemanını verir; burada her eleman bir soru nesnesidir.
-
parseInt çağrısını tamamla
const userAnswer = parseInt(____);
Cevabı göster
const userAnswer = parseInt(userAnswers[answerIndex]);
-
İfadeyi anlamına eşleştir
- for (const q of questions)
- Her soruyu sırayla dolaşır
- parseInt(userAnswers[0])
- "1" stringini 1 sayısına çevirir
- q.options[userAnswer]
- Seçilen seçeneğin metni
- q.question
- Soru metni
Sıradaki ders: Skoru hesaplama