我有一个像这样的对象:
answers = {
"q1" : {
"selected": "a",
"correct": "b"
},
"q2": {
"selected": "c",
"correct": "d"
},
etc...
}
如何比较选中和正确?
我正在尝试
for (let key in answers) {
if (key.selected === key.correct) {
correct++;
} else {
incorrect++;
}
}
但它不起作用。我一直把所有问题都标记为正确。我确定我需要做一些其他事情来降低对象的水平,但不知道该怎么做。
如果我answers[key].selected === answers[key].correct
全部错误
答案 0 :(得分:1)
嗯......您正在比较键而不是值,其中selected
和correct
对于这两种情况都是undefined
因此是正确的。你可能意味着:
if (answers[key].selected === answers[key].correct) {
答案 1 :(得分:0)
你想:
for (let key in answers) {
if (answers[key]["selected"] === answers[key]["correct"]) {
correct++;
} else {
incorrect++;
}
}
答案 2 :(得分:0)
你需要像这样使用它
answers = {
"q1" : {
"selected": "a",
"correct": "b"
},
"q2": {
"selected": "c",
"correct": "c"
}
};
var correct=0;incorrect=0;
for (let key in answers) {
if (answers[key].selected === answers[key].correct)
{
correct++;
}
else
{
incorrect++;
}
}
console.log(correct);
console.log(incorrect);