使用JavaScript对用户响应进行评分(比较两个数组)。
|
我正在研究通过比较两个数组对用户响应进行评分的脚本。 (这是一个测验,看他们对单词的信息了解程度如何。)我已经有了一些所需的代码,例如使用户响应小写并拆分。我所需要的只是找到差异/错误数量的方法。例如:
var correctanswer = [\"The\",\"quick\",\"brown\",\"fox\",\"jumped\",\"over\",\"the\",\"lazy\",\"dog\"];
var useranswer = [\"The\",\"brown\",\"fox\",\"jumped\",\"up\",\"and\",\"over\",\"the\",\"really\",\"lazy\",\"cat\"];
alert(counterrors(correctanswer, useranswer));
在此特定示例中,运行我要查找的功能将返回用户犯了5个错误(它们省略了\“ quick \”,添加了\“ up \”,\“ and \”和\“ really \” ,并将\“ dog \\”更改为\\“ cat \”)。如您所见,两个数组的长度可能不同。
有人知道该如何处理吗?我以为这可能是一个循环,如:
for (x in correctanswer) {
// compare correctanswer[x] to useranswer[x]... not sure how exactly. Seems tricky...
}
感谢您的关注!我看过约翰·雷西格(John Resig)的差异解决方案(http://ejohn.org/projects/javascript-diff-algorithm/)和其他类似的东西,甚至还有一些数组比较,但是自从我发现那些以来,似乎没有任何效果返回所有差异,而我想看看有多少差异。再次感谢您的关注,如有任何问题,请通知我。
更新:非常感谢Magnar的回答!效果很好。
没有找到相关结果
已邀请:
2 个回复
焙恍挝厂熄
这将把“ 3”登录到控制台。如您所见,这是数组之间的正确距离。学生没有加
。所以它是1个删除,3个添加和1个替换。
俯乡骚钵皆