Soru nesneleri tanımlama
Soru, seçenekler ve doğru cevabı tutan nesnelerden dizi oluşturursun.
Soru nesnesi
Her soruyu bir nesne olarak tanımlayacağız. Nesne, ilgili verileri süslü parantezler içinde anahtar-değer çiftleriyle tutar:
{ question: "...", options: [...], answer: 1 }
Burada question soru metni, options seçenekler dizisi, answer ise doğru seçeneğin indeksidir. Tek bir nesne, bir sorunun tüm parçalarını paketler; böylece veriler dağınık hâlide gelmez.
Soru nesnelerinden dizi
Tek bir soru nesnesi işe yaramaz; birden çok soruyu bir dizide toplarız. Her eleman bir nesne olur:
const questions = [{ ... }, { ... }];
Bu yapıya nesne dizisi denir. questions[0] ilk soruyu, questions[1] ikinci soruyu verir. questions.length bize kaç soru olduğunu söyler. for...of ile tümünü sırayla dolaşabiliriz.
Uygulama Soru nesnelerinden dizi tanımla
Bir önceki adımda boş bir questions dizisi tanımlamıştın. Şimdi içine en az iki soru nesnesi ekle. Her nesnede question, options ve answer özellikleri olsun. Sonra console.log(questions.length) ile soru sayısını 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 }
];
console.log(questions.length);
Kendini test et
-
Doğru cevap indeksini tamamla
const firstQuestion = { question: "Türkiye'nin başkenti?", options: ["İzmir", "Ankara", "Bursa"], answer: ____ }; console.log(firstQuestion.answer);Cevabı göster
const firstQuestion = { question: "Türkiye'nin başkenti?", options: ["İzmir", "Ankara", "Bursa"], answer: 1 }; console.log(firstQuestion.answer); -
const questions = [{ q: 'A', answer: 1 }, { q: 'B', answer: 0 }]; tanımında questions[1].answer ne döner?
- 0
- 1
- undefined
- 'B'
Cevabı göster
0 — Doğru! questions[1] ikinci nesnedir ve onun answer özelliği 0'dır.
-
İfadeyi değerine eşleştir
- questions[0].question
- Türkiye'nin başkenti?
- questions[0].options[1]
- Ankara
- questions[0].answer
- 1
- questions.length
- 2