JavaScript简单随机数去重
人果然是不能懒惰的,该动脑的时候就不能省,在随机数去重问题困扰我许久之后,终于在今日,我下定决心认真看一下去重问题,研究了一下发现其实简单的去重并不难,所以极其不理解前一段的我为什么迟迟不肯看一眼…
算了,我们还是来记录一下代码吧~~~
就写一个简单到爆的点名吧,主要是这个思路,有差不多的用途的话,自己改一改就能用到自己的代码上了!
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="js/quchong.js"></script>
</head>
<style>.ks {width: 200px;height: 200px;margin: 100px auto;line-height: 200px;text-align: center;background-color: pink;color: white;}.button {width: 100px;height: 30px;margin: 0 auto;line-height: 30px;text-align: center;background-color: #0084FF;color: white;cursor: pointer;}
</style>
<body><div class="ks"></div><div class="button">点名</div>
</body>
</html>
由于很简单,并且主要实现js,css我就不代码分离了,直接写html里了
//名字数组 随机数数组
var nameArr;
var newArr = [];
//元素对象
var ks;
var button;
//加载事件 为了获取到元素对象
window.onload = function () {//赋值 存要随机的名字nameArr = ["百里守约", "孙悟空", "紫霞", "安琪拉", "妲己"];//获取元素对象ks = document.querySelector(".ks");//设置初始内容ks.innerHTML = "点击下方按钮开始";//获取元素对象button = document.querySelector(".button");//绑定点击事件button.onclick = function () {//调用自定义的 随机数去重函数 返回值作为nameArr数组下标 取出相应名字 放在ks盒子的内容区域ks.innerHTML = nameArr[arf()];}
}function arf() {//判断newArr数组长度 ===0 可能是初始 或者 名字随机一轮了,把nameArr数组的下标存到newArr数组里if (newArr.length === 0) {for (var i = 0; i < nameArr.length; i++) {newArr[newArr.length] = i;}}//生成随机数 范围:0-nameArr数组的长度var num = Math.floor(Math.random() * nameArr.length);//去重 不知会循环多少次 用whilewhile (1) {//在newArr里有和num对应的数if (newArr.indexOf(num) !== -1) {//就删掉newArr数组中和num一样的数newArr.splice(newArr.indexOf(num), 1);// 结束循环break;} else {//没有找到num对应的数 就再重新生成随机数num = Math.floor(Math.random() * nameArr.length);//循环继续 接着判断continue;}}//返回这个不会重复的随机数return num;
}
}
初始的样子
点击按钮点名,没做效果,直接把结果显示出来
好了,就这样,还有一句话,有问题一定及时解决,否则可能会困扰良久,极其难受,共勉!
JavaScript简单随机数去重相关推荐
- 对随机数去重并进行排序 java
对随机数去重并进行排序 题目描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余 ...
- 通过JavaScript简单的操作DOM(一)
通过JavaScript简单的操作DOM (一)简单的前提概念 1.DOM简介 DOM,文档对象模型.描述了HTML和XML文档结构,然后提供API,来帮助开发人员添加.删除.修改页面的某一部分. ( ...
- 题库练习2(随机数去重排序、分割字符串、进制转换)
1. 随机数去重排序 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉 ...
- html判断用户名的合法性,javascript简单判断输入内容是否合法的方法
本文实例讲述了javascript简单判断输入内容是否合法的方法.分享给大家供大家参考,具体如下: 关于检测用户输入的内容是否有非法的字符检测实现思路 1.定义合法的字符串(源字符串) 2.获取用户输 ...
- JavaScript中数组去重汇总
1. 简单的去重方法,利用数组的indexOf下标属性来查询 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ func ...
- Python JavaScript 的数组去重
"数组去重" 是实际应用中常用的操作,出现在面试题中的概率也很高,今天简述一下 Python 和 JavaScript 中数组去重的方法 python数组去重 >>&g ...
- 利用Html,Css,javaScript简单写一个计算一天秒的倒计时
利用Html,Css,javaScript简单写一个计算一天还剩多少秒的倒计时页面 代码我放下面,不多,就是我那个背景图我没有用精灵图,主要拼接太麻烦了,我直接img了,然后display:none; ...
- JavaScript简单版计算器
JavaScript简单版计算器 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...
- 简单下拉菜单html,JavaScript简单下拉菜单实例代码
本文实例讲述了JavaScript简单下拉菜单实例代码.分享给大家供大家参考.具体如下: 这是一款JavaScript实现的下拉菜单演示代码,带渐变效果的CSS+jQuery菜单,向下滑出型的菜单,最 ...
最新文章
- sqlserver导入excel的电话号码(身份证)变为科学计数解决方式
- Oracle的基本操作(一:子查询与常用函数)
- WS-Addressing 了解
- apriori算法c++_使用Apriori进行关联分析
- python 模板匹配对比
- Flutter混合开发:Android中如何启动Flutter
- 蓝桥杯 ADV-144 算法提高 01背包
- java stream foreach_Java 8 Lambda Stream forEach具有多个语句
- treeselect 如何选中多个_转pdf后出现word没有的形状——对象选择窗格(同时选择多个形状、图形)...
- Routeros2.9.7安装总结
- AT指令:AT+CMGF
- Snap7 西门子S7系列PLC的通信库 简介
- linux操作系统实用教程课后答案,Linux操作系统案例教程课后习题答案
- Python 数据分析微专业课程--项目实战09 房价影响因素挖掘
- 基于SPSS的正态性检验方法汇总——以个股收益率为例(超详细)
- python实现杨辉三角的规律_Python实现杨辉三角算法
- 关于Keil debug 出现cannot access target shutting down debug session 错误提示
- java native函数库_Java 层调用 Native 层函数的两种方式
- Mac Ports的安装和卸载
- 2022上半年系统集成项目管理师客观题参考答题解析(1)