JS 数组随机洗牌的实例代码
下面通过一段代码给大家介绍js 数组随机洗牌的方法,具体代码如下所示:
//先定义一个某数值范围内的随机数 function getRandom(min, max) { return Math.floor(Math.random() * (max - min + 1) + min) } // 克隆数组方法 /** * 克隆数组 * @param {array} arr 原数组 * @return {array} 新数组 */ function cloneArr(arr) { // 从第一个字符就开始 copy // slice(start,end) 方法可从已有的数组中返回选定的元素。 return arr.slice(0) } //洗牌 function shuffle(arr, flag = false) { // console.log('arr',arr) let newArr = [] flag ? (newArr = arr) : (newArr = cloneArr(arr)) for (let i = 0; i < newArr.length; i++) { let j = getRandom(0, i) let temp = newArr[i] newArr[i] = newArr[j] newArr[j] = temp } // console.log('arr',arr,newArr) return newArr } //调用 shuffle(list)//list一般为数组对象
总结
以上所述是小编给大家介绍的JS 数组随机洗牌的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
JavaScript实现构造json数组的方法分析
本文实例讲述了JavaScript实现构造json数组的方法.分享给大家供大家参考,具体如下: 从后端拿到的数据是一个数组,每个元素中包含的数据如下(host相同的记录都是相邻的) currentTime:"1470729601" host:"10.3.34.21" taskList:null taskNum:1 想构造类似如下结构的json数组 [{ name: 'host:10.1.6.49', data: [ [1470641461000, 5], [1470
-
JS获取并处理php数组的方法实例分析
本文实例讲述了JS获取并处理php数组的方法.分享给大家供大家参考,具体如下: $music=array(); $music['tayler']=array(); $music['walker']=array(); $music['tayler'][]='ours'; $music['tayler'][]='style'; $music['tayler'][]='red'; $music['walker'][]='all fall down'; $music['walker'][]='faded
-
JavaScript使用indexOf()实现数组去重的方法分析
本文实例讲述了JavaScript使用indexOf()实现数组去重的方法.分享给大家供大家参考,具体如下: 数组去重方法有多中,这里列举出自己认为比较容易理解的方法. 思路: 1. 创建一个新的空数组,用来存放去重后的新数组. 2. 利用for循环循环遍历需要去重的数组. 3. 利用indexOf()方法查询遍历出的数组在新数组中是否出现,如果出现:则继续遍历数组,如未出现:则利用push方法添加到新数组中. 4. 原数组循环遍历完成后,组建一个已经去除重复的新数组. <script> va
-
JavaScript数组基于交换的排序示例【冒泡排序】
本文实例讲述了JavaScript数组基于交换的排序.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <
-
JavaScript数组方法的错误使用例子
1. 不要使用Array.indexOf,使用Array.includes "如果你要在数组中查找元素,使用Array.indexOf!".记得在我学习JavaScript课程时候,有这样一句话.这句话没错,确实可以这么使用! 根据MDN文档:"Array.indexOf会返回被查找元素第一个匹配的位置的下标."因此,如果后面需要用到这个索引,Array.indexOf是一个很好的解法.但是,我们要解决的问题是:查找数组中是否包含某个元素.这是一个Yes/No的问题
-
ajax获得json对象数组 循环输出数据的方法
如下所示: var obj= [{id: 1, pId: 0, name: "采购商品", open: true}, {id: 2, pId: 1, name: "雨伞2", open: true}, {id: 2, pId: 1, name: "雨伞2", open: true}, {id: 2, pId: 1, name: "雨伞2", open: true}]; var x=''; $.each(obj, functio
-
JS中数组与对象的遍历方法实例小结
本文实例讲述了JS中数组与对象的遍历方法.分享给大家供大家参考,具体如下: 一.数组的遍历: 首先定义一个数组 arr=['snow','bran','king','nightking']; 1.for循环,需要知道数组的长度; 2.foreach,没有返回值,可以不知道数组长度: arr.forEach(function(ele,index){ console.log(index); console.log(ele) }) 3.map函数,遍历数组每个元素,并回调操作,需要返回值,返回值组成新
-
JS 数组随机洗牌的实例代码
下面通过一段代码给大家介绍js 数组随机洗牌的方法,具体代码如下所示: //先定义一个某数值范围内的随机数 function getRandom(min, max) { return Math.floor(Math.random() * (max - min + 1) + min) } // 克隆数组方法 /** * 克隆数组 * @param {array} arr 原数组 * @return {array} 新数组 */ function cloneArr(arr) { // 从第一个字符就
-
原生JS实现随机点名项目的实例代码
核心思想 •随机产生规定范围内的整数,然后再产生相同范围内的整数,两者相同时,则暂停. 所用知识 •Math.random() * num: 产生从0到num的随机数 •Math.floor(): 向下取整 •简单的DOM操作等 技术扩展 •扩展人数 •添加停止键等 效果 代码如下 •html: <div class="container"> <section class="demo"> <ul> <li></l
-
JS随机洗牌算法之数组随机排序
推荐阅读:JavaScript学习笔记之数组的增.删.改.查 JavaScript学习笔记之数组求和方法 JavaScript学习笔记之数组随机排序 洗牌算法是一个比较形象的术语,本质上让一个数组内的元素随机排列.举例来说,我们有一个如下图所示的数组,数组长度为 9,数组内元素的值顺次分别是 1~9: 从上面这个数组入手,我们要做的就是打乱数组内元素的顺序: 代码实现 维基百科上的 Fisher–Yates shuffle 词条对洗牌算法做了详细介绍,下面演示的算法也是基于其中的理论编写的: A
-
JavaScript数组随机排列实现随机洗牌功能
本文实例讲述了JavaScript数组随机排列实现随机洗牌功能的方法.分享给大家供大家参考.具体分析如下: 这段JS代码可以对数组内的元素进行随机排列,这个非常有用,比如我们在玩扑克牌的时候可以让扑克牌进行排列,也就是电脑洗牌. var list = [1,2,3,4,5,6,7,8,9]; list = list.sort(function() Math.random() - 0.5); Print(list); // prints something like: 4,3,1,2,9,5,6,
-
C#实现随机洗牌的方法
本文实例讲述了C#实现随机洗牌的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: #region 随机洗牌 int[] ints = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 }; List<int> list=ints.ToList(); int[] outs = new int[20]; Random rand = new Random(); for (int
-
浅析JS获取url中的参数实例代码
js获取url中的参数代码如下所示,代码简单易懂,附有注释,写的不好还请见谅! function UrlSearch() { var name, value; var str = location.href; //取得整个地址栏 var num = str.indexOf("?") str = str.substr(num + 1); //取得所有参数 stringvar.substr(start [, length ] var arr = str.split("&&
-
JS 中使用Promise 实现红绿灯实例代码(demo)
要求 使用promise 实现红绿灯颜色的跳转 绿灯执行三秒后 黄灯执行四秒后 红灯执行五秒 html 实现如下: <ul id="traffic" class=""> <li id="green"></li> <li id="yellow"></li> <li id="red"></li> </ul> 定义一个
-
js生成随机数(指定范围)的实例代码
1.随机生成4位数的随机数 <script language="javascript"> /** * 随机生成4位的随机数 * http://www.yulu.jb51.net */ document.write(parseInt(10*Math.random())); //输出0-10之间的随机整数 document.write(Math.floor(Math.random()*10+1)); //输出1-10之间的随机整数 function RndNum(n){ var
-
Node.js查找当前目录下文件夹实例代码
整理文档,搜刮出Node.js查找当前目录下文件夹实例代码,稍微整理精简一下做下分享. var http = require("http"); var fs = require("fs"); var server = http.createServer(function (req,res) { //不处理收藏夹小图标 if(req.url == "/favicon.ico"){ return; } //files是文件名的数组 表示text这个文
-
Node.js 文件夹目录结构创建实例代码
第一次接触NodeJS的文件系统就被它的异步的响应给搞晕了,后来发现NodeJS判断文件夹是否存在和创建文件夹是还有同步方法的,但是还是想尝试使用异步的方法去实现. 使用的方法: fs.exists(path, callback); fs.mkdir(path, [mode], callback); 实现文件夹目录结构的创建代码实现如下: //创建文件夹 function mkdir(pos, dirArray,_callback){ var len = dirArray.length; con
随机推荐
- Oracle表空间不足的两种解决办法
- Struts2获取参数的三种方法总结
- ASP页面静态化批量生成代码分享(多种方法)
- git创建版本库_动力节点Java学院整理
- javascript new后的constructor属性
- 浅谈Springboot之于Spring的优势
- 详解Spring-Boot集成Spring session并存入redis
- 浅谈Java注解和动态代理
- nginx+thinkphp下解决不支持pathinfo模式
- PHP微信开发之根据用户回复关键词\位置返回附近信息
- YII框架批量插入数据的方法
- 如何解决django配置settings时遇到Could not import settings 'conf.local'
- linux下安装升级mysql到新版本(5.1-5.7)
- shell监控脚本实例—监控mysql主从复制
- Spring Boot整合MyBatis操作过程
- java实现的简单猜数字游戏代码
- Javascript动态引用CSS文件的2种方法介绍
- 使用Java对数据库进行基本的查询和更新操作
- Android 使用ContentObserver监听数据库内容是否更改
- CISCO 技术集合二