Javascript 二维数组,如果。。Else语句执行不正确。 var correct=0; var=0; 变量问题=[ [“一年有几个月?”,12], [“我最喜欢的度假地点是什么?”,“哥斯达黎加”], [“我多大了?”,23] ]; 对于(var i=0;i
这是我用JavaScript做的一个实践测试。当我测试代码时,我意识到即使我给出了错误的答案,代码仍然是正确的。我试图从数组中删除正确答案,但我认为这不是问题所在。Javascript 二维数组,如果。。Else语句执行不正确。 var correct=0; var=0; 变量问题=[ [“一年有几个月?”,12], [“我最喜欢的度假地点是什么?”,“哥斯达黎加”], [“我多大了?”,23] ]; 对于(var i=0;i,javascript,Javascript,这是我用JavaScript做的一个实践测试。当我测试代码时,我意识到即使我给出了错误的答案,代码仍然是正确的。我试图从数组中删除正确答案,但我认为这不是问题所在。 var错误=0; 变量问题=[ [“一年有多少个月?”,12,空], [“我最喜欢的度假地点是什么?”,“哥斯达黎加”,空], [“我多大了?”,23,空] ]; 对于(var i=0;i
var错误=0;
变量问题=[
[“一年有多少个月?”,12,空],
[“我最喜欢的度假地点是什么?”,“哥斯达黎加”,空],
[“我多大了?”,23,空]
];
对于(var i=0;i console.log(“错误:”,错误)代码>替代实现:
(函数(){
让错误=0;
常量问题=[
[“一年有几个月?”,12],
[“我最喜欢的度假地点是什么?”,“哥斯达黎加”],
[“我多大了?”,23]
];
问题。forEach((问题,idx,arr)=>{
问题.推送(窗口.提示(问题[0]);
错误+=(问题[1]!=问题[2])?1:0;
});
window.alert(`error:${error}`);
})();代码>好的,您没有检查用户输入-您检查的是数组中每个项的1
索引,这就是答案。所以你总是得到100%-你需要找到一种存储用户响应的方法。在这里使用具有属性的对象可能比使用2D数组更好-参见此重构:-没有将其作为答案发布,因为我基本上重写了所有内容。@tymeJV在作业中,我需要使用2D数组,不幸的是,这就是问题所在
var correct = 0;
var wrong = 0;
var questions = [
["How many months are there in a year?", 12 ],
["What is my favorite vacation spot?", "Costa Rica"],
["How old am I?", 23]
];
for(var i = 0; i < questions.length; i ++ ) {
prompt(questions[i][0]);
}
if (questions[0][1] === 12 ) {
print("Correct!");
correct += 1;
} else {
wrong += 1;
}
if(questions[1][1] === "Costa Rica") {
print("Correct!");
correct += 1;
} else {
wrong += 1;
}
if(questions[2][1] === 23) {
print("Correct!");
correct += 1;
} else {
wrong += 1;
}
print(wrong);