描述:后台传入正确答案选项,前端监听input的onchange事件,一旦选错,及时报错,不然跳转下一题前端
难点:用户若是是多选题,选择之后,要判断是否选对,选错直接报错信息并显示数组
解决方案:正确答案和用户答案(concat)合并在一块儿,再去重,最后判断 正确答案的数组长度是否小于去重后的长度this
栗子:spa
1 Array.prototype.distinct = function () { 2 let arr = this, 3 i, 4 j, 5 len = arr.length; 6 for (i = 0; i < len; i++) { 7 for (j = i + 1; j < len; j++) { 8 if (arr[i] == arr[j]) { 9 arr.splice(j, 1); 10 len--; 11 j--; 12 } 13 } 14 } 15 return arr; 16 }; 17 18 19 // 后台传正确答案 20 let a = ['A', 'B', 'C']; 21 // 前台输入答案 - 经过监听input change事件 22 let b = ['A', 'B']; 23 24 // 合并a数组、合并b数组 25 let c = a.concat(b); 26 // c去重复 27 let d = c.distinct(); 28 29 // 一旦a的长度小于合并后c的长度,就说明答案选错了! 30 if (a.length < c.length) { 31 console.log('小子,你选错了!'); 32 } else { 33 console.log('小子,你选对了!'); 34 } 35 36 console.log(d);