¿Cómo mostrar solo una pregunta de un objeto el cual contiene tres más?
Publicado por Edwin (1 intervención) el 25/01/2021 12:54:53
¡Hola!
Estoy haciendo un quiz en el que el usuario tiene que responder algunas preguntas de cada letra del abecedario.
Tengo un objeto con cada letra y cada letra tiene tres posibles preguntas. Las preguntas se pueden omitir si el usuario no conoce la respuesta y cuando finalice la ronda, volverán a aparecer las respuestas que el usuario ha omitido.
Tengo una propiedad llamada state que controla si la pregunta se omite, es correcta o incorrecta.
El problema es que cuando me salto una pregunta de una letra, la siguiente pregunta que aparece es la segunda pregunta de la misma letra y quiero que aparezca la primera pregunta de la segunda letra.
Ejemplo: la letra A tiene la pregunta A1, A2, A3 y la letra B tiene la pregunta B1, B2, B3. Estoy en la pregunta A1 y no sé la respuesta, así que me salto la pregunta, luego se muestra A2, aquí es cuando en lugar de mostrar A2 quiero mostrar B1.
Esto es lo que tengo:
Sé que de alguna manera necesito hacer algo con la propiedad state, pero no puedo resolverlo. ¿Algunas ideas?
¡Gracias!
Estoy haciendo un quiz en el que el usuario tiene que responder algunas preguntas de cada letra del abecedario.
Tengo un objeto con cada letra y cada letra tiene tres posibles preguntas. Las preguntas se pueden omitir si el usuario no conoce la respuesta y cuando finalice la ronda, volverán a aparecer las respuestas que el usuario ha omitido.
Tengo una propiedad llamada state que controla si la pregunta se omite, es correcta o incorrecta.
El problema es que cuando me salto una pregunta de una letra, la siguiente pregunta que aparece es la segunda pregunta de la misma letra y quiero que aparezca la primera pregunta de la segunda letra.
Ejemplo: la letra A tiene la pregunta A1, A2, A3 y la letra B tiene la pregunta B1, B2, B3. Estoy en la pregunta A1 y no sé la respuesta, así que me salto la pregunta, luego se muestra A2, aquí es cuando en lugar de mostrar A2 quiero mostrar B1.
Esto es lo que tengo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
let questions = [{
letter: "a",
status: 0,
questionss: [{
answer: "abduction",
question: "STARTS WITH A. Act of abducting."
},
{
answer: "abandon",
question: "STARTS WITH A. To give up; withdraw from"
},
{
answer: "atlas",
question: "STARTS WITH A. A bound collection of maps."
}
]
},
{
letter: "b",
status: 0,
questionss: [{
answer: "bench",
question: "STARTS WITH B. A long seat for several persons"
},
{
answer: "border",
question: "STARTS WITH B. The part or edge of a surface or area that forms its outer boundary."
},
{
answer: "bread",
question: "STARTS WITH B. a kind of food made of flour or meal that has been mixed with milk or water, made into a dough or batter, with or without yeast or other leavening agent, and baked."
}
]
},
]
let errors = 0;
let correct = 0;
let numOfQuestions = 0;
function showQuestions() {
while (numOfQuestions < questions.length) {
for (let i = 0; i < questions.length; i++) {
for (let j = 0; j < questions[i].questionss.length; j++) {
if (questions[i].status === 0) {
console.log("");
console.log(questions[i].questionss[j].question)
let a = prompt("Introduce your answer");
if (a === null) {
console.log("")
console.log("You exited the game!");
return false;
}
a = a.toLowerCase();
if (questions[i].questionss[j].answer.toLowerCase() == a) {
console.log('¡Correct!');
console.log("Your answer: " + a);
questions[i].status = 1;
correct++;
numOfQuestions++
} else if (a === "end") {
console.log("");
console.log("You have " + correct + "correct answers !");
return false;
} else if (a === 'skip' || a === "") {
console.log("Question skipped");
} else {
console.log('¡Incorrect!');
console.log("Your answer: " + a);
questions[i].status = 2;
errors++;
numOfQuestions++
}
}
}
}
}
console.log("");
console.log("Correct: " + correct);
console.log("Incorrect: " + errors);
}
showQuestions()
Sé que de alguna manera necesito hacer algo con la propiedad state, pero no puedo resolverlo. ¿Algunas ideas?
¡Gracias!
Valora esta pregunta


0