繁体   English   中英

如何定位数组 object 中的 boolean 值。 JavaScript

[英]How to target boolean value in array object. JavaScript

 let myQuestions = [ { question: "What's 2+2?", answers: [ { text: "4", correct: true }, { text: "2", correct: false }, { text: "10", correct: false }, { text: "1", correct: false }, ], }, { question: "What's 10+10?", answers: [ { text: "20", correct: true }, { text: "2", correct: false }, { text: "18", correct: false }, { text: "0", correct: false }, ], }, ]; function showQuestion(questionAndAnswers) { const shuffledAnswers = _.shuffle(questionAndAnswers.answers); questionTag.innerText = questionAndAnswers.question; answerTag[0].innerText = shuffledAnswers[0].text; answerTag[1].innerText = shuffledAnswers[1].text; answerTag[2].innerText = shuffledAnswers[2].text; answerTag[3].innerText = shuffledAnswers[3].text; } document.querySelectorAll(".answer").forEach((correctAnswer) => { correctAnswer.addEventListener("click", (event) => { if (myQuestions.answers == true) { console.log("s"); } }); })

基本上,我的问题在一个数组中,答案也在 object 中,问题被放在屏幕上,答案被打乱了。 我需要帮助的是下面的最后一段代码,如何检查单击的值是否为真(正确答案)。

 <h3 id="question"></h3> <div class="answers"> <button id="answer1" class="answer"></button> <button id="answer2" class="answer"></button> <button id="answer3" class="answer"></button> <button id="answer4" class="answer"></button> </div>

向答案标签添加一个属性,指示它是否是正确答案。 然后你可以在事件监听器中检查。

 let myQuestions = [ { question: "What's 2+2?", answers: [ { text: "4", correct: true }, { text: "2", correct: false }, { text: "10", correct: false }, { text: "1", correct: false }, ], }, { question: "What's 10+10?", answers: [ { text: "20", correct: true }, { text: "2", correct: false }, { text: "18", correct: false }, { text: "0", correct: false }, ], }, ]; function showQuestion(questionAndAnswers) { const shuffledAnswers = _.shuffle(questionAndAnswers.answers); questionTag.innerText = questionAndAnswers.question; questionAndAnswers.answers.forEach(({text, correct}, i) => { answerTag[i].innerText = text; answerTag[i].dataset.correct = correct; }; } document.querySelectorAll(".answer").forEach((answer) => { answer.addEventListener("click", (event) => { if (event.target.dataset.correct == 'true') { console.log("s"); } }); })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM