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 相关文章推荐
js/jQuery对象互转(快速操作dom元素)
Feb 04 Javascript
jQuery中[attribute=value]选择器用法实例
Dec 31 Javascript
js实现漂浮回顶部按钮实例
May 06 Javascript
JS 实现Base64编码与解码实例详解
Nov 07 Javascript
bootstrapValidator.min.js表单验证插件
Feb 09 Javascript
Canvas实现动态的雪花效果
Feb 13 Javascript
使用jQuery实现两个div中按钮互换位置的实例代码
Sep 21 jQuery
javascript 缓冲运动框架的实现
Sep 29 Javascript
vue使用echarts图表的详细方法
Oct 22 Javascript
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
Jun 18 Javascript
微信小程序反编译的实现
Dec 10 Javascript
5种 JavaScript 方式实现数组扁平化
Oct 05 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
DOTA2 无惧惊涛骇浪 昆卡大型水友攻略
2020/04/20 DOTA
php shell超强免杀、减少体积工具实现代码
2012/10/16 PHP
zf框架的zend_cache缓存使用方法(zend框架)
2014/03/14 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
2014/06/22 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
php将字符串全部转换成大写或者小写的方法
2015/03/17 PHP
php阿拉伯数字转中文人民币大写
2015/12/21 PHP
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
JS小功能(onmouseover实现选择月份)实例代码
2013/11/28 Javascript
JavaScript执行顺序详细介绍
2013/12/04 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
javascript中substring()、substr()、slice()的区别
2015/08/30 Javascript
javascript设计简单的秒表计时器
2020/09/05 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
2016/09/02 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
使用async、enterproxy控制并发数量的方法详解
2018/01/02 Javascript
vue.js指令v-for使用以及下标索引的获取
2019/01/31 Javascript
layui按条件隐藏表格列的实例
2019/09/19 Javascript
js简单实现自动生成表格功能示例
2020/06/02 Javascript
JavaScript实现切换多张图片
2021/01/27 Javascript
[01:05:00]2018国际邀请赛 表演赛 Pain vs OpenAI
2018/08/24 DOTA
Python中的startswith和endswith函数使用实例
2014/08/25 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
python中的decimal类型转换实例详解
2019/06/26 Python
Python 分发包中添加额外文件的方法
2019/08/16 Python
python爬取本站电子书信息并入库的实现代码
2020/01/20 Python
Django权限控制的使用
2021/01/07 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
python3判断IP地址的方法
2021/03/04 Python
演讲稿怎么写
2014/01/07 职场文书
红领巾广播站广播稿
2014/02/01 职场文书
离婚协议书范本样本
2014/08/19 职场文书
2014年销售工作总结
2014/12/01 职场文书
少年雷锋观后感
2015/06/10 职场文书
宫崎骏十大动画电影,宫崎骏好看的动画电影排名
2022/03/22 日漫