时隔几个月,重新写关于多选题的判断,chatGPT确实牛逼

自己写的

多选题业务为:判断选项为答对,答错,没答上。

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'`表示没答上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值