Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

378
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda