Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

383
Vistas
¿Cómo verifico las respuestas en objetos de matriz por su índice?

Estoy tratando de construir una prueba en JavaScript. Tengo un objeto con una pregunta, respuestas y la respuesta correcta. Puedo verificar si el usuario respondió la pregunta correctamente haciendo coincidir el índice de las respuestas con el índice de la respuesta correcta.

Sin embargo, cuando trato de usar varios objetos y trato de ejecutar este código, no funciona. ¿Cómo puedo hacer que esto funcione?

esto funciona:

 let questions = { question: "How many sides does a square have?", answers: [4, 6, 8], correctAnswer: 0, category: "trueOrFalse" }; const iterator = questions.answers.keys(); for (const key of iterator) { if (key === questions.correctAnswer) { console.log(questions.question + ": " + questions.answers[key]); } }

pero esto no funciona:

 let questions = { question: "How many sides does a square have?", answers: [4, 6, 8], correctAnswer: 0 }, { question: "How many sides does a triangle have?", answers: [3, 6, 8], correctAnswer: 0 } ; const iterator = questions.answers.keys(); for (const key of iterator) { if (key === questions.correctAnswer) { console.log(questions.question + ": " + questions.answers[key]); } }

Aquí está el enlace a mi repositorio: DC Quiz

El problema ocurre cuando trato de responder la pregunta 4. En mi código, puede ver que está defectuoso en el archivo main.js en la fila 206.

¡Gracias por cualquier ayuda! Miguel

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

como ya se indicó anteriormente, debe definir sus preguntas en una matriz. Me gusta:

 const questions = [{ question: "How many sides does a triangle have?", answer: [3, 5, 7], correctAnswer: 0 }, { question: "some question?", answer: [1, 42, "another answer"], correctAnswer: 2 } ]

Probablemente lo esté haciendo más difícil de lo necesario al usar .keys(), esta función de matriz devuelve un iterador con los números de índice en lugar de los valores reales, lea sobre esto aquí

Dado que está almacenando el índice de la respuesta correcta, puede resolver esto fácilmente recorriendo su matriz de preguntas y tratando con las respuestas de esta manera:

 for (let q of questions) { console.log(q.question, ": ", answers[correctAnswer]) }

Esto funciona ya que correctAnswer contiene la clave de índice para la respuesta correcta.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Debe definir sus preguntas como una matriz de objetos.

 let questions = [ { question: "How many sides does a square have?", answers: [4, 6, 8], correctAnswer: 0 }, { question: "How many sides does a triangle have?", answers: [3, 6, 8], correctAnswer: 0 } ];
about 4 years ago · Juan Pablo Isaza Denunciar

0

también tiene que iterar a través de su matriz de preguntas. la primera pregunta esta en:

 questions[0].question

Por cierto: su variable de preguntas debe ser una matriz. (como sus respuestas) intente lo siguiente:

 let questions = [{ question: "How many sides does a square have?", answers: [4, 6, 8], correctAnswer: 0 }, { question: "How many sides does a triangle have?", answers: [3, 6, 8], correctAnswer: 0 } ; const iterator = questions.answers.keys(); for (const key of iterator) { if (key === questions.correctAnswer) { console.log(questions.question + ": " + questions.answers[key]); } }]

Explicación:

La matriz de preguntas agrupa todos sus objetos de pregunta. Si desea hacer una pregunta específica, debe decirle a javascript qué objeto de pregunta es el que desea hacer.

¿Es la primera pregunta?:

 question[0].question

que significa: "¿Cuántos lados tiene un cuadrado?"

o tal vez otro?

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda