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

285
Vistas
Problema al verificar si la entrada del usuario (respuesta a una pregunta de prueba) coincide con una de las respuestas correctas en mi matriz anidada usando .includes

Objetivo: mi objetivo es comparar la entrada del usuario (respuesta a una pregunta de prueba) con una lista de respuestas correctas en una matriz (anidada). Por ejemplo, la pregunta podría ser: Nombre una marca de automóviles alemana, y la respuesta puede ser cualquiera de las siguientes: ["Volkswagen", "Audi", "Opel", "Porsche", etc.]. Si el usuario ingresa cualquiera de estas respuestas, la función debe devolver verdadero y sumar la cantidad total de preguntas respondidas correctamente. Si todas las preguntas se respondieron correctamente, quiero terminar el código con un mensaje para el usuario:

 if (numberCorrect == quizQuestions.length) { document.getElementById("correct").innerHTML = "All answers are correct";

Código de la matriz quizQuestions:

 const quizQuestions = [ "Wat is de hoofdstad van Frankrijk?", "Hoeveel benen heeft een spin?", "Wat is het grootste meer van Nederland?", "Noem een Duits automerk", "Noem een Waddeneiland", "In hoeveel dagen draait de aarde om de zon?", "Wat is de grootste oceaan ter wereld?" ];

Código de la matriz de respuestas correctas:

 const correctAnswers = [ "Parijs", 8, "IJsselmeer", ["Volkswagen", "Audi", "Opel", "Porsche", "BMW", "Mercedes", "Mercedes-Benz"], ["Texel", "Vlieland", "Terschelling", "Ameland", "Schiermonnikoog"], 365, "Stille Oceaan" ];

Problema: por alguna razón, pasar por las dos matrices de respuestas anidadas usando correctAnswers.includes(answer) no funciona. Leí que .includes no funciona en matrices anidadas, ¿es esto cierto? Mis otras preguntas de prueba con una respuesta, como: ¿Cuál es la capital de Francia?, se comparan fácilmente con la entrada del usuario usando este código básico:

 numberCorrect = 0; var answer = document.querySelector("#input0").value; if (correctAnswers[0] == answer) { numberCorrect++; }

El código anterior agrega correctamente 1 a correctAnswers.

Sin embargo, al llegar a la matriz anidada con varias respuestas posibles (p. ej., marcas de automóviles alemanas), mi respuesta correcta no funciona/se suma al número total correcto:

 answer = document.querySelector("#input3").value; if (correctAnswers.includes(answer) == true) { numberCorrect++; }

Además, parece que no puedo ser más preciso y elegir el índice correcto en la matriz principal de esta manera:

 correctAnswers[3].includes(answer)

¿Hay quizás alguien que pueda ayudar? ¡Gracias por adelantado!

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

0

Puede usar indexOf para verificar cadenas y matrices, ambos funcionan exactamente como se includes , vea el ejemplo a continuación

 const correctAnswers = [ "Parijs", 8, "IJsselmeer", ["Volkswagen", "Audi", "Opel", "Porsche", "BMW", "Mercedes", "Mercedes-Benz"], ["Texel", "Vlieland", "Terschelling", "Ameland", "Schiermonnikoog"], 365, "Stille Oceaan" ]; var isAnsRight = correctAnswers[3].indexOf("Audi") >= 0 console.log(isAnsRight)

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