猫妈狗爸伴宠师小程序前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

69 lines
2.0 KiB

import dayjs from "dayjs";
// 判断选项是否被选中
export function isOptionSelected(question, optionId) {
if (!question.userAnswerBaseList || !question.userAnswerBaseList.length) return false;
return question.userAnswerBaseList.some(answer => answer.answerId === optionId);
}
// 判断答案是否正确
export function isAnswerCorrect(question) {
if (!question.userAnswerBaseList || !question.userAnswerBaseList.length) return false;
// 获取所有正确答案的ID
const correctOptionIds = question.answerList
.filter(option => option.isTrue)
.map(option => option.id);
// 获取用户选择的答案ID
const userAnswerIds = [...new Set(question.userAnswerBaseList.map(answer => answer.answerId))];
// 判断用户选择的答案数量是否与正确答案数量相同
if (userAnswerIds.length !== correctOptionIds.length) {
return false;
}
// 判断用户选择的答案是否都是正确的
return userAnswerIds.every(answerId => correctOptionIds.includes(answerId));
}
export function isQuestionAnswered(question) {
if (question.type == '培训') {
// 填空题:检查是否有答案且答案不为空
return question.userAppletAnswerTrain &&
question.userAppletAnswerTrain.answer &&
question.userAppletAnswerTrain.answer.trim() !== '';
} else {
// 选择题:检查是否有选择的答案
return question.userAnswerBaseList && question.userAnswerBaseList.length > 0;
}
}
// 判断全部题目答案是否达到指定的准确率
export function isSuccessPrecision(list, number = 100){
let errNumber = 0
for (var index = 0; index < list.length; index++) {
var question = list[index];
if (question.type == '基本' && !isAnswerCorrect(question)) {
errNumber++
}
}
console.log(errNumber, (list.length - errNumber) / list.length * 100);
if(((list.length - errNumber) / list.length * 100) < number){
return false
}
return true
}
export default {
isOptionSelected,
isAnswerCorrect,
isQuestionAnswered,
isSuccessPrecision,
}