Solo quiero asignar un valor para cada opción en la lista, luego puedo calcular el puntaje en función del puntaje de cada pregunta.
Así que hoy vi un ejemplo de una aplicación de cuestionario html y quiero que me guste, pero la idea es que cada opción tenga un puntaje determinado que se calcula al final de las preguntas, pero una vez que vi en línea solo estaba contando las preguntas correctas hasta el final de la matriz. La mía es asignar una marca determinada a cada opción, lo que significa que no hay "una respuesta correcta", sino varias respuestas correctas con diferentes grados de corrección. El problema es que no puedo asignar cada respuesta a una calificación. Lo probé con objetos pero no pude acceder.
const Data = [ { question: "What does HTML stands for ?", a: "Hyper Text Markup Language ", b: "Hypo Text Markup Language", c: "Hard Test Marking Language", d: "High Text Marking Language", answer: {a:2, b:3, c:5, d:4}, } ]; function nextQuestion() { const answer = getValue(); if (answer) { if (answer === Data[initialQuize].answer[key]) { score=score+ Data[initialQuize].answer[value]; } initialQuiz++; if (initialQuize < Data.length) { loadQuiz(); } else if (score === Data.length) { quiz.innerHTML = `<h1> Congratulations<br/>You scored ${score}/${Data.length}</h1>`; } else { quiz.innerHTML = `<h1> You scored ${score}/${Data.length}`; } } }Espero haberlo dejado claro. Gracias
Diría que las answers deberían ser una matriz de objetos con propiedades de text y points . Yo lo estructuraría así:
function nextQuestion() { const answer = getValue(); if (answer && answer === Data[initialQuize].answers[key].text) { score = score + Data[initialQuize].answers[key].points; } // ... } const Data = [{ question: "What does HTML stand for?", answers: [{ text: "Hyper Text Markup Language ", points: 2 }, { text: "Hypo Text Markup Language", points: 3 }, { text: "Hard Test Marking Language", points: 5 }, { text: "High Text Marking Language", points: 4 } ] }, { question: "What does XML stand for?", answers: [{ text: "Xylophone Markup Language ", value: 2 }, { text: "X-ray Markup Language", value: 3 }, { text: "Extensible Markup Language", value: 5 }, { text: "Xavier's Morphine Language", value: 4 } ] } ];