描述:後臺傳入正確答案選項,前端監聽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);