公众号 - 答题小程序之选择答案
描述:后台传入正确答案选项,前端监听input的onchange事件,一旦选错,及时报错,否则跳转下一题
难点:用户如果是多选题,选择以后,要判断是否选对,选错直接报错信息并显示
解决方案:正确答案和用户答案(concat)合并在一起,再去重,最后判断 正确答案的数组长度是否小于去重后的长度
栗子:
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);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现