Javascript 我的if语句没有';检查收音机输入时不工作

Javascript 我的if语句没有';检查收音机输入时不工作,javascript,for-loop,if-statement,radio-button,Javascript,For Loop,If Statement,Radio Button,我正在尝试验证无线电输入,以检查其答案是否正确。 但是如果(答案==allQuestions[q].correctAnswer) 这是完整的代码 for(设k=0;k { let line=`${choice}` ,inLn=(DomParser.parseFromString(第行,'text/html')).body.firstChild ; formReplies.appendChild(inLn) }) } 其他的 { libQuestion.textContent=`Score=${S

我正在尝试验证无线电输入,以检查其答案是否正确。
但是如果(答案==allQuestions[q].correctAnswer)

这是完整的代码

for(设k=0;k
我认为您的If语句应该是这样的

if(answer == allQuestions[q].choices[allQuestions[q].correctAnswer]) {
        alert("correct");
    }

编辑了这个,刚刚尝试过,对我有效

您还可以使用数组中元素的索引进行比较

if(allQuestions[q].choices.indexOf(answer) == allQuestions[q].correctAnswer) {
    alert("correct");
}
因为我做到了

const allQuestions=
[{问题:'赫尔辛基在哪里?'
,选项:[“瑞典”、“芬兰”、“美国”]
,正确答案:1
} 
{问题:'斯德哥尔摩在哪里?'
,选项:[“挪威”、“冰岛”、“瑞典”]
,正确答案:2
} 
{问题:'科彭哈姆在哪里?'
,选项:[“丹麦”、“瑞典”、“挪威”]
,正确答案:0
} 
] 
函数*qList(arr){for(让arr的q)产生q}
const libQuestion=document.querySelector('h1')
,formReplies=document.getElementById('list'))
,btNext=document.querySelector('按钮')
,DomParser=newdomparser()
,qListRead=qList(所有问题)
,分数={正确:0,计数:0}
;
var currentAnswer=''
;
函数setNewQuestion()
{
formReplies.innerHTML=“”
让newQuestion=qListRead.next()
如果(!newQuestion.done)
{
libQuestion.textContent=newQuestion.value.question
currentAnswer=newQuestion.value.correctAnswer
++记分
newQuestion.value.choices.forEach((choice,indx)=>
{
let line=`${choice}`
,inLn=(DomParser.parseFromString(第行,'text/html')).body.firstChild
;
formReplies.appendChild(inLn)
})
}
其他的
{
libQuestion.textContent=`Score=${Score.correct}/${Score.count}`
btNext.disabled=true
}
}
setNewQuestion()
btNext.onclick=()=>
{
如果(formReplies.answer.value)
{
score.correct+=(currentAnswer==formReplies.answer.value)
setNewQuestion()
}
}



接下来
请将您的全部代码粘贴到问题中。避免链接。实际上,我在HTML中没有看到任何名为'answers'radio.setAttribute(“name”,“answers”)的元素;简单的调试将告诉您为什么<代码>控制台.log(答案,所有问题[q].correctAnswer,答案==所有问题[q].correctAnswer)这通常是生成器函数的用例…您最初的IF语句
allQuestions[q]。correctAnswer
只会为您提供正确答案的索引,因为这是您存储在对象数组中的索引,所以您需要使用该索引并将其放回同一数组中,因此,如果
correctAnswerIndex=allQuestions[q]。correctAnswer
那么
allQuestions[q][correctAnswerIndex]
将为您提供正确答案我认为存储数据的更好方法是将
正确答案:1
替换为
正确答案:芬兰
,这样您就可以做您最初的事情了本-您正在回答Matias的问题“为什么我的代码不起作用?”在评论中-为什么应该是你答案的一部分。。。这是你们所做的,这是为什么不起作用,这是如何正确地做,代码示例解决OP的问题。