fix(答案处理): 改进多答案字符串的分割逻辑
处理类似"同创造,共分享,齐飞扬"格式的答案字符串,统一使用逗号分割并去除空格
This commit is contained in:
@@ -379,8 +379,28 @@ const QuizPage = () => {
|
||||
if (!userAnswer) return false;
|
||||
|
||||
if (question.type === 'multiple') {
|
||||
const correctAnswers = Array.isArray(question.answer) ? question.answer : [question.answer];
|
||||
const userAnswers = Array.isArray(userAnswer) ? userAnswer : [userAnswer];
|
||||
// 处理正确答案
|
||||
let correctAnswers: string[] = [];
|
||||
if (Array.isArray(question.answer)) {
|
||||
correctAnswers = question.answer;
|
||||
} else if (typeof question.answer === 'string') {
|
||||
// 尝试按逗号分割(处理如"同创造,共分享,齐飞扬"格式)
|
||||
correctAnswers = question.answer.split(',').map(item => item.trim());
|
||||
} else {
|
||||
correctAnswers = [String(question.answer)];
|
||||
}
|
||||
|
||||
// 处理用户答案
|
||||
let userAnswers: string[] = [];
|
||||
if (Array.isArray(userAnswer)) {
|
||||
userAnswers = userAnswer;
|
||||
} else if (typeof userAnswer === 'string') {
|
||||
// 尝试按逗号分割(处理如"同创造,共分享,齐飞扬"格式)
|
||||
userAnswers = userAnswer.split(',').map(item => item.trim());
|
||||
} else {
|
||||
userAnswers = [String(userAnswer)];
|
||||
}
|
||||
|
||||
return correctAnswers.length === userAnswers.length &&
|
||||
correctAnswers.every(answer => userAnswers.includes(answer));
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user