JS 数组随机洗牌的实例代码


Posted in Javascript onSeptember 12, 2018

下面通过一段代码给大家介绍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 相关文章推荐
javascript学习笔记(十二) RegExp类型介绍
Jun 20 Javascript
js+css实现的简单易用兼容好的分页
Dec 30 Javascript
关于jQuery中的each方法(jQuery到底干了什么)
Mar 05 Javascript
javascript中动态函数用法实例分析
May 14 Javascript
Javascript对象Clone实例分析
Jun 09 Javascript
js判断手机号运营商的方法
Oct 23 Javascript
jQuery简单实现列表隐藏和显示效果示例
Sep 12 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
Nov 01 Javascript
VUE Error: getaddrinfo ENOTFOUND localhost
May 03 Javascript
VUE+elementui组件在table-cell单元格中绘制微型echarts图
Apr 20 Javascript
详解JavaScript 异步编程
Jul 13 Javascript
微信小程序调用后台service教程详解
Nov 06 Javascript
使用RN Animated做一个“添加购物车”动画的方法
Sep 12 #Javascript
小程序组件之仿微信通讯录的实现代码
Sep 12 #Javascript
Vue弹出菜单功能的实现代码
Sep 12 #Javascript
angular4中*ngFor不能对返回来的对象进行循环的解决方法
Sep 12 #Javascript
详解SPA中前端路由基本原理与实现方式
Sep 12 #Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
Sep 12 #Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
Sep 12 #Javascript
You might like
PHP执行linux系统命令的常用函数使用说明
2010/04/27 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
php jsonp单引号转义
2014/11/23 PHP
PHP原生函数一定好吗?
2014/12/08 PHP
PHP对文件夹递归执行chmod命令的方法
2015/06/19 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
JavaScript 动态创建VML的方法
2009/10/14 Javascript
html的DOM中Event对象onabort事件用法实例
2015/01/21 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
jQuery图片左右滚动代码 有左右按钮实例
2016/06/20 Javascript
jQuery基本选择器之标签名选择器
2016/09/03 Javascript
完美解决node.js中使用https请求报CERT_UNTRUSTED的问题
2017/01/08 Javascript
基于js中style.width与offsetWidth的区别(详解)
2017/11/12 Javascript
浅谈Node 调试工具入门教程
2018/03/20 Javascript
微信小程序云开发修改云数据库中的数据方法
2019/05/18 Javascript
利用Vue实现一个markdown编辑器实例代码
2019/05/19 Javascript
[04:49]期待西雅图之战 2016国际邀请赛中国区预选赛WINGS战队赛后采访
2016/06/29 DOTA
[01:42:49]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第一场 2月26日
2021/03/11 DOTA
Python实现建立SSH连接的方法
2015/06/03 Python
python numpy格式化打印的实例
2018/05/14 Python
Python+OpenCV图片局部区域像素值处理详解
2019/01/23 Python
解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path
2019/06/12 Python
CSS3实现头像旋转效果
2017/03/13 HTML / CSS
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
用Java语言将一个键盘输入的数字转化成中文输出
2013/01/25 面试题
英语专业学子个人的自我评价
2013/10/02 职场文书
音乐表演专业毕业生求职信
2013/10/14 职场文书
化工机械应届生求职信
2013/11/04 职场文书
大学毕业自我评价
2014/02/02 职场文书
我为党旗添光彩演讲稿
2014/09/13 职场文书
政府个人对照检查材料思想汇报
2014/10/08 职场文书
行政文员岗位职责
2015/02/04 职场文书
高中教师个人工作总结
2015/02/10 职场文书
2016大学生求职自荐信范文
2016/01/28 职场文书
python之基数排序的实现
2021/07/26 Python
解决Springboot PostMapping无法获取数据的问题
2022/05/06 Java/Android