自己写的
多选题业务为:判断选项为答对,答错,没答上。
let trueA=['A','B'],userA=['B','A','E']
let testOptions=[
{option:'A',type:''},
{option:'B',type:''},
{option:'C',type:''},
{option:'D',type:''},
{option:'E',type:''},
]
let t=['A','B','C','D','E']
for (var i = 0; i < trueA.length; i++) {
let index= userA.indexOf(trueA[i])
let index2= t.indexOf(trueA[i])
if(index!==-1){
testOptions[index2].type='true'
}else{
testOptions[index2].type='noAnswer'
}
}
for (var i = 0; i < userA.length; i++) {
let index= trueA.indexOf(userA[i])
let index2= t.indexOf(userA[i])
if(index===-1){
testOptions[index2].type='false'
}
}
console.log(testOptions)
GPT写的
假设多选题正确答案为一个数组`correctAnswer`,用户答案为一个数组`userAnswer`。
可以用以下代码实现每个选项的答对、答错、没答上的情况:
```javascript
// 假设正确答案为 ['A', 'B'],用户答案为 ['B', 'C']
const correctAnswer = ['A', 'B'];
const userAnswer = ['B', 'C'];
const options = ['A', 'B', 'C', 'D', 'E']; // 所有选项
const result = {}; // 用一个对象保存结果
// 遍历所有选项
options.forEach(option => {
if (correctAnswer.includes(option)) {
if (userAnswer.includes(option)) {
// 正确答案中包含该选项,并且用户也选择了该选项,则为答对
result[option] = 'correct';
} else {
// 正确答案中包含该选项,但用户没有选择该选项,则为答错
result[option] = 'wrong';
}
} else {
if (userAnswer.includes(option)) {
// 正确答案中不包含该选项,但用户选择了该选项,则为答错
result[option] = 'wrong';
} else {
// 正确答案中不包含该选项,并且用户也没有选择该选项,则为没答上
result[option] = '';//这里改为空了,GPT原本设置成noAnswer,小问题,因为已经被震撼到了
}
}
});
// 输出结果
console.log(result);
输出结果为:
{ A: 'wrong', B: 'correct', C: 'wrong', D: '', E: '' }
其中,`'correct'`表示答对,`'wrong'`表示答错,`'noAnswer'`表示没答上。