日期:2014-05-16  浏览次数:20313 次

两个字符串对比(多项选择题的自动评分)?

用户选择的答案s1=',A,B,C|,A,B|,A,B|';
正确的答案 s2=',A,B,C|,A,B,D|,A,B,D|';

如何对比 这两个字符串  
正确的题数为1(第一题)
就是少选,多选 都不给分

JScript code
function duibi(s1, s2) {
        var arr1 = s1.split("|");
        var arr2 = s2.split("|");
        var right = 0;
        var error = 0;
        var total = arr2.length;
        for (var i = 0; i < 3; i++) {
            if (arr1[i].length == arr2[i].length) {
                right++;
            } else {
                error++;
            }
        }
       
       alert("恭喜你!!!此次得分为:"  +right * 1+  "分"+"(总共 40 题)");
    }

这样不行

------解决方案--------------------
这个 abcd 选了后传进来的值顺序没有问题的话 直接对比不就行了吗?还用管那么多吗?
JScript code

function duibi(s1, s2) {
        var arr1 = s1.split("|");
        var arr2 = s2.split("|");
        var right = 0;
        var error = 0;
        var total = arr2.length;
        for (var i = 0; i < 3; i++) {
            if (arr1[i] === arr2[i]) {
                right++;
            } else {
                error++;
            }
        }
       
       alert("恭喜你!!!此次得分为:"  +right * 1+  "分"+"(总共 40 题)");
    }