我已经建立了一个多项选择测验。有些问题只有一个正确答案(使用无线电输入),有些问题有正确答案(复选框)。
当用户提交测验时,我会收集所有已选中的单选框和复选框,并将答案的ID推送到指向服务器的阵列。它看起来像这样:
userAnswers = [ '1c', '2d', '3a', '3b', '3c', '3d', '4b', '5c', '5d', '6d', '7c', '7d' ]
在服务器上,我有一个包含所有正确答案的数组。
correctAnswers = [ '1c', '2d', '3b', '3d', '4b', '5a', '5d', '6d', '7c', '7d' ]
我尝试使用下划线的_.difference
功能来比较阵列,但这并没有给我一个完整的比较。
任何人都可以帮我设计一种评分这些测验的方法吗?我认为问题在于,有些问题有多个答案,所以从技术上讲,有人可以勾选所有4个复选框或只有一个,这使得比较它们变得更加困难。
也许使用数组并不是最好的方法,任何建议都值得赞赏!
答案 0 :(得分:1)
使用数组可能不是最好的方法
是的,你真的应该使用适当的数据结构:
"
您也可以将一个对象用于“命名”问题(而不是将它们编入索引),并且可能删除数组包装器以用于单选问题,但我认为数组因为它们的简单性而存在争议。
如果您想使用原始格式作为输入(例如,因为它更容易键入或您的服务器不支持嵌套URL查询参数),您可以轻松地将其转换为嵌套数组。
将结果与正确答案进行比较问题的解答应该是微不足道的。