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

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

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 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