一个方法用js生成随机双色球、大乐透

 代码如下:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>#crateNum {display: flex;justify-content: center;}#ssqStyle,#dltStyle {border: 1px solid #ccc;padding: 10px;background: rgba(0, 0, 0, .5);}#ssqStyle>p,#dltStyle>p {font-size: 30px;text-align: center;font-weight: bold;}#ssqLIst,#dltList{height: 300px;padding: 50px;box-sizing: border-box;text-align: center;color: #fff;}</style>
</head><body><div id="crateNum"><div id="ssqStyle"><p>双色球</p><button onclick="creatNum('ssq',1)">随机生成1组</button><button onclick="creatNum('ssq',5)">随机生成5组</button><button onclick="creatNum('ssq',10)">随机生成10组</button><hr><ul id="ssqLIst"></ul></div><div id="dltStyle"><p>大乐透</p><button onclick="creatNum('dlt',1)">随机生成1组</button><button onclick="creatNum('dlt',5)">随机生成5组</button><button onclick="creatNum('dlt',10)">随机生成10组</button><hr><ul id="dltList"></ul></div></div>
</body>
<script>//定义红篮球数组let ssqArr = [], dltArr = [];//参数说明// classify:要产生双色球数据还是大乐透数据,因为用的一个方法,所以要区分一下//          ssq:双色球;//          dlt:大乐透// num:产生多少组function creatNum(classify, num) {// 定义前后区个数let qq = 0, //前区个数--红球数量hq = 0, //后区个数--篮球数量qqScope = 0, //前区每个球的数值范围---双色球是1-33,大乐透是1-35hqScope = 0; //后区每个球的数值范围---双色球是1-16,大乐透是1-12// 判断时ssq还是dltif (classify == 'ssq') {this.ssqArr = []; //将双色球数据列表清空(避免多次点击数据叠加)qq = 6; //双色球的前区(红球)个数为6个hq = 1; //双色球的后区(蓝球)个数为1个qqScope = 33; //双色球前区(红球)数值范围是1-33hqScope = 16; //双色球后区(蓝球)数值范围是1-16} else if (classify == 'dlt') {this.dltArr = []//将大乐透数据列表清空(避免多次点击数据叠加)qq = 5; //大乐透的前区(红球)个数为5个hq = 2; //大乐透的后区(蓝球)个数为2个qqScope = 35; //大乐透前区(红球)数值范围是1-35hqScope = 12; //大乐透后区(蓝球)数值范围是1-12}// 外层循环表示需要产生多少组随机数字for (let i = 0; i < num; i++) {//定义前后区(红蓝球)数组let redBall = [];let blueBall = [];let blueBallNum = '';//获取一组前区(红球)数据for (let j = 0; j < qq; j++) {let redBallNum = this.random(1, qqScope);//位数补齐--0-9不足两位的在前面补“0”redBallNum = redBallNum.toString().padStart(2, "0");//判重添加//如果不存在(false),就添加if (redBall.indexOf(redBallNum) == -1) {redBall.push(redBallNum);} else {//反之j--重新循环j--;}}//前区数字从大到小排序redBall.sort((a, b) => {return a - b})//获取一组后区(蓝球)数据for (let k = 0; k < hq; k++) {let blueBallNum = this.random(1, hqScope);//位数补齐--0-9不足两位的在前面补“0”blueBallNum = blueBallNum.toString().padStart(2, "0");//判重添加//如果不存在(false),就添加if (blueBall.indexOf(blueBallNum) == -1) {blueBall.push(blueBallNum);} else {//反之k--重新循环k--;}}//后区数字从大到小排序blueBall.sort((a, b) => {return a - b})if (classify == 'ssq') {//合并添加到ssqArr(双色球数据列表)中this.ssqArr[i] = (redBall.toString() + "-----" + blueBall.toString());} else if (classify == 'dlt') {//合并添加到dltArr(大乐透数据列表)中this.dltArr[i] = (redBall.toString() + "-----" + blueBall.toString());}}//操作标签部分// 获取ul标签,方便后面往里填数据let ssqLIst = document.querySelector('#ssqLIst')let dltList = document.querySelector('#dltList')// 判断选的随机产生双色球数据还是大乐透数据if (classify == 'ssq') {// 清空原先的内容ssqLIst.innerHTML = ''//将数据循环添加到dom中for (let s = 0; s < this.ssqArr.length; s++) {var li = document.createElement("li");li.innerText = this.ssqArr[s];ssqLIst.appendChild(li);}} else if (classify == 'dlt') {// 清空原先的内容dltList.innerHTML = ''for (let d = 0; d < this.dltArr.length; d++) {var li = document.createElement("li");li.innerText = this.dltArr[d];dltList.appendChild(li);}}}//获取随机数function random(min, max) {//Math.random()获取0-1中的随机数//随机数需要取整parseInt(),向下取整 Math.floor()return parseInt(Math.random() * (max - min) + min);}
</script></html>

效果如下:

没咋写过原生,可能里面的方法有待优化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/109238.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业架构LNMP学习笔记44

小工具&#xff1a; memcached_tool.php软件&#xff0c;可以查看memcached运行状态、key&#xff08;item&#xff09;的数量、内存使用量等。 1&#xff09;上传memcached_tool.php到web服务器上&#xff1a; 上传到虚拟机主机可以访问的目录即可。需要php的运行环境&…

智慧园区:AI边缘计算技术与视频监控汇聚平台打造智慧园区解决方案

一、行业趋势与背景 智慧园区是现代城市发展的重要组成部分&#xff0c;通过智能化技术提高园区的运营效率、降低成本、增强环境可持续性等具有重要作用。在智慧园区中&#xff0c;人工智能和视频汇聚技术是重要的前置技术。人工智能技术可以实现对数据的智能化处理和分析&…

微信小程序与idea后端如何进行数据交互

交互使用的其实就是调用的req.get(url)方法 进行路径访问&#xff0c;你要先保证自己的springboot项目已经成功运行了&#xff1a; 如下&#xff1a; 如何交互的&#xff1f; 微信小程序&#xff1a;如下为index.js页面 在onLoad()事件中调用方法Project.findAllCities() 要…

【Docker】ubuntu20.04 X86机器搭建NVIDIA ARM64 TX2的Docker镜像

文章目录 1. 设置ubuntu为清华源1.1 备份源文件1.2 替换清华源1.3 更新清华源 2. Ubuntu Docker 安装3. 安装qemu4. 安装Nvidia TX2 Docker镜像5. 如何使用TX2容器6. 参考资料 1. 设置ubuntu为清华源 为了后面ubuntu下载安装软件快些&#xff0c;需要使用国内的源&#xff0c;…

【Redis】深入探索 Redis 的数据类型 —— 列表 List

文章目录 一、List 类型介绍二、List 类型相关命令2.1 LPUSH 和 RPUSH、LPUSHX 和 RPUSHX2.2 LPOP 和 RPOP、BLPOP 和 BRPOP2.3 LRANGE、LINDEX、LINSERT、LLEN2.4 列表相关命令总结 三、List 类型内部编码3.1 压缩列表&#xff08;ziplist&#xff09;3.2 链表&#xff08;lin…

助力涵洞场景安全智能巡检,基于yolov7/yolov7x/yolov7e6e开发构建基体建筑缺陷问题检测识别系统

涵洞场景下的安全智能化巡检对于保障设施的正常运行有着重要的意义&#xff0c;在道路、公路、隧道、桥梁等场景下我们都已有实际的项目实践开发&#xff0c;而基于涵洞场景下的数据还未有过尝试&#xff0c;本文的核心目的就是想要构建基于涵洞场景下的智能化目标检测识别系统…

【Vue】大悟!模板语法-插值语法指令语法

模板语法 Vue模板语法包括两大类 插值语法 插值语法也就是两个大括号&#xff0c;也叫Mustache 功能&#xff1a;用于解析标签体内容&#xff0c;可以进行运算、三元表达式等,将最终解析出来的内容插入到标签中 写法&#xff1a;{{xxx}}&#xff0c;xxx 是 js 表达式&…

OPENCV--Haar+Tesseract车牌识别;

车牌识别步骤 说明:Haar级联器仅用于定位车牌的位置,Tesseract用于提取其中的内容; 实现步骤: 1、Haar级联器定位车牌位置; 2、车牌预处理操作(二值化、形态学、滤波去噪、缩放); 3、调用Tesseract进行文字识别; 注意:这里需要预先安装Tesseract; # -*- cod…

腾讯云4核8G服务器CVM S5性能测评(CPU/流量/系统盘)

腾讯云4核8G服务器CVM标准型S5实例性能测评&#xff0c;包括CPU型号、内存、系统盘、CVM实例规格性能测评&#xff0c;腾讯云4核8G租用优惠价格表&#xff0c;腾讯云服务器网分享腾讯云4核8G服务器CVM S5性能测评和租用费用&#xff1a; 目录 腾讯云4核8G服务器CVM S5性能测评…

【Vue】vue2使用pdfjs预览pdf文件,在线预览方式一,pdfjs文件包打开新窗口预览pdf文件

系列文章目录 【Vue】vue2预览显示quill富文本内容&#xff0c;vue-quill-editor回显页面&#xff0c;v-html回显富文本内容 【Vue】vue2项目使用swiper轮播图2023年8月21日实战保姆级教程 【Vue】vue2使用pdfjs预览pdf文件&#xff0c;在线预览方式一&#xff0c;pdfjs文件包…

openGauss学习笔记-69 openGauss 数据库管理-创建和管理普通表-更新表中数据

文章目录 openGauss学习笔记-69 openGauss 数据库管理-创建和管理普通表-更新表中数据 openGauss学习笔记-69 openGauss 数据库管理-创建和管理普通表-更新表中数据 修改已经存储在数据库中数据的行为叫做更新。用户可以更新单独一行、所有行或者指定的部分行。还可以独立更新…

Java基础语法之数组

&#x1f495;十年生死两茫茫&#xff0c;不思量&#xff0c;自难忘&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;Java学习之--数组 一.数组的基本概念 1.定义 数组是相同数据类型的集合&#xff01;使用数组来存放多个相同类型的数据&#xff01; 2.Jav…