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 相关文章推荐
用XMLDOM和ADODB.Stream实现base64编码解码实现代码
Nov 28 Javascript
js的Boolean对象初始值示例
Mar 04 Javascript
简单谈谈ES6的六个小特性
Nov 18 Javascript
基于JavaScript实现窗口拖动效果
Jan 18 Javascript
Javascript中for循环语句的几种写法总结对比
Jan 23 Javascript
使用jQuery 操作table 完成单元格合并的实例
Dec 27 jQuery
解决easyui日期时间框ie的兼容的问题
Mar 01 Javascript
Webpack打包字体font-awesome的方法示例
Apr 26 Javascript
React Navigation 使用中遇到的问题小结
May 08 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
Aug 16 Javascript
解决layui数据表格table的横向滚动条显示问题
Sep 04 Javascript
Element el-button 按钮组件的使用详解
Feb 01 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 文件上传系统手记
2009/10/26 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
2017/02/17 PHP
基于PHP的登录和注册的功能的实现
2020/08/06 PHP
js动态加载以及确定加载完成的代码
2011/07/31 Javascript
js 判断checkbox是否选中的操作方法
2012/11/09 Javascript
jquery实现checkbox全选全不选的简单实例
2013/12/31 Javascript
jquery实现右键菜单插件
2015/03/29 Javascript
基于jQuery日历插件制作日历
2016/03/11 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
2016/10/04 Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
2018/08/24 Javascript
Bootstrap模态对话框用法简单示例
2018/08/31 Javascript
详解Python中的Cookie模块使用
2015/07/06 Python
详解python如何调用C/C++底层库与互相传值
2016/08/10 Python
python使用itchat实现手机控制电脑
2018/02/22 Python
Python扩展内置类型详解
2018/03/26 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
2019/01/08 Python
python PrettyTable模块的安装与简单应用
2019/01/11 Python
使用Python 统计高频字数的方法
2019/01/31 Python
深入解析Python小白学习【操作列表】
2019/03/23 Python
Pytest参数化parametrize使用代码实例
2020/02/22 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2020/05/24 Python
HTML5 input placeholder 颜色修改示例
2014/05/30 HTML / CSS
Marriott国际:万豪国际酒店查询预订
2017/09/25 全球购物
PacSun官网:加州生活方式服装、鞋子和配饰
2018/03/10 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
七年级生物教学反思
2014/01/30 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
学雷锋树新风演讲稿
2014/05/10 职场文书
房屋买卖授权委托书
2014/09/27 职场文书
培训督导岗位职责
2015/04/10 职场文书
房屋所有权证明
2015/06/19 职场文书
《鸡兔同笼》教学反思
2016/02/19 职场文书
2016年优秀团支部事迹材料
2016/02/26 职场文书
诗词赏析-(浣溪沙)
2019/08/13 职场文书
Spring Boot 的创建和运行示例代码详解
2022/07/23 Java/Android