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 相关文章推荐
CSS JavaScript 实现菜单功能 改进版
Dec 09 Javascript
window.addEventListener来解决让一个js事件执行多个函数
Dec 26 Javascript
防止浏览器记住用户名及密码的简单实用方法
Apr 22 Javascript
Javascript执行效率全面总结
Nov 04 Javascript
纯javascript实现自动发送邮件
Oct 21 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
Sep 15 Javascript
Angular.js自动化测试之protractor详解
Jul 07 Javascript
Angular如何在应用初始化时运行代码详解
Jun 11 Javascript
记React connect的几种写法(小结)
Sep 18 Javascript
详解puppeteer使用代理
Dec 27 Javascript
详解为什么Vue中不要用index作为key(diff算法)
Apr 04 Javascript
JQuery基于FormData异步提交数据文件
Sep 01 jQuery
使用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新手上路(五)
2006/10/09 PHP
Discuz 6.0+ 批量注册用户名
2009/09/13 PHP
使用PHPMyAdmin修复论坛数据库的图文方法
2012/01/09 PHP
有关phpmailer的详细介绍及使用方法
2013/01/28 PHP
PHP检测移动设备类mobile detection使用实例
2014/04/14 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
2014/08/04 PHP
url 编码 js url传参中文乱码解决方案
2010/04/11 Javascript
javascript event 事件解析
2011/01/31 Javascript
JavaScript window.location对象
2014/11/14 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
2016/04/29 Javascript
javascript特效实现——当前时间和倒计时效果的简单实例
2016/07/20 Javascript
js模式化窗口问题![window.dialogArguments]
2016/10/30 Javascript
AngularJS常见过滤器用法实例总结
2017/07/06 Javascript
vue cli使用绝对路径引用图片问题的解决
2017/12/06 Javascript
详解plotly.js 绘图库入门使用教程
2018/02/23 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
jquery实现动态添加附件功能
2018/10/23 jQuery
送你43道JS面试题(收藏)
2019/06/17 Javascript
vue2.x 通过后端接口代理,获取qq音乐api的数据示例
2019/10/30 Javascript
python处理cookie详解
2014/02/07 Python
python实现数通设备端口监控示例
2014/04/02 Python
Python聚类算法之DBSACN实例分析
2015/11/20 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
2019/02/13 Python
python 读写excel文件操作示例【附源码下载】
2019/06/19 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
Python通过2种方法输出带颜色字体
2020/03/02 Python
Python super()函数使用及多重继承
2020/05/06 Python
基于python实现把json数据转换成Excel表格
2020/05/07 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
Python实现EM算法实例代码
2020/10/04 Python
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
自行车租赁公司创业计划书
2014/01/28 职场文书
花店创业计划书范文
2014/02/07 职场文书
运动会标语
2014/06/21 职场文书
服务器间如何实现文件共享
2022/05/20 Servers
MySQL慢查询中的commit慢和binlog中慢事务的区别
2022/06/16 MySQL