每日一题:抢红包啦
抢红包啦
介绍
小蓝想给同学们发一个红包,慰劳大家学习前端的辛苦,可是到了开红包这一步,大家收到的红包金额列表竟然一片空白,这可急坏了小蓝,快来帮小蓝解决这个问题吧!
准备
开始答题前,需要先打开本题的项目代码文件夹,目录结构如下:
1 | ├── css |
其中:
index.html是主页面。images是图片文件夹。css是样式文件夹。js/index.js是项目的 js 文件。js/randomAllocation.js是需要补充代码的 js 文件。effect.gif是项目完成的效果图。
注意:打开环境后发现缺少项目代码,请手动键入下述命令进行下载:
1 | wget https://labfile.oss.aliyuncs.com/courses/18421/red_envelope.zip && unzip red_envelope.zip && rm red_envelope.zip |
在浏览器中预览 index.html 页面效果如下:

目标
目前存在的问题是:输入金额和红包个数,点击开红包后原本需要展示的红包金额列表出现一片空白。请实现 js/randomAllocation.js 文件中 randomAllocation 函数,修复此问题。
randomAllocation 函数共接收二个参数,参数 total 为红包总金额,参数 n 为红包个数。抽取到的红包的最小金额为 0.01 元,且最多保留两位小数。每次发放红包的个数为 n,每个红包的金额随机,最终将本次抽取的所有红包金额组成数组返回。需要注意的是,要确保 n 个红包的金额加起来必须等于总金额 total。
1 | // 例:总金额为 100 元的 10 个红包,函数的返回结果可能如下: |
完成后效果如下:

规定
- 请严格按照考试步骤操作,切勿修改考试默认提供项目中的文件名称、文件夹路径、class 名、id 名、图片名等,以免造成无法判题通过。
- 满足需求后,保持 Web 服务处于可以正常访问状态,点击「提交检测」系统会自动检测。
判分标准
- 本题完全实现题目目标得满分,否则得 0 分。
总通过次数: 31 | 总提交次数: 34 | 通过率: 91.2%
难度: 中等 标签: 蓝桥杯, 2023, 国赛, Web 前端, JavaScript, JS 函数封装
题解
1 | /** |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 江月迟迟!
