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 相关文章推荐
jquery last-child 列表最后一项的样式
Jan 22 Javascript
简单实现js选项卡切换效果
Feb 03 Javascript
获取select的value、text值的简单示例(jquery与javascript)
Dec 07 Javascript
web打印小结
Jan 11 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
Jan 11 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
Mar 21 Javascript
javascript实现文字无缝滚动效果
Aug 26 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
Dec 25 Javascript
通过jquery获取上传文件名称、类型和大小的实现代码
Apr 19 jQuery
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
Aug 24 Javascript
electron + vue项目实现打印小票功能及实现代码
Nov 25 Javascript
Ant Design的可编辑Tree的实现操作
Oct 31 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将时间差转换为字符串提示
2011/09/07 PHP
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
如何使用Gitblog和Markdown建自己的博客
2015/07/31 PHP
鼠标图片振动代码
2006/07/06 Javascript
关于文本限制字数的js代码
2007/04/02 Javascript
jquery select选中的一个小问题
2009/10/11 Javascript
JS 进度条效果实现代码整理
2011/05/21 Javascript
在JavaScript中正确引用bind方法的应用
2015/05/11 Javascript
Jsonp post 跨域方案
2015/07/06 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
JavaScript ES6的新特性使用新方法定义Class
2016/06/28 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
2016/07/22 Javascript
JavaScript实现大图轮播效果
2017/01/11 Javascript
基于jQuery代码实现圆形菜单展开收缩效果
2017/02/13 Javascript
jQuery中layer分页器的使用
2017/03/13 Javascript
ES6新特性之函数的扩展实例详解
2017/04/01 Javascript
jQuery接受后台传递的List的实例详解
2017/08/02 jQuery
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
JavaScript获取某一天所在的星期
2019/09/05 Javascript
在Echarts图中给坐标轴加一个标识线markLine
2020/07/20 Javascript
使用PyTorch将文件夹下的图片分为训练集和验证集实例
2020/01/08 Python
python 6.7 编写printTable()函数表格打印(完整代码)
2020/03/25 Python
python中if及if-else如何使用
2020/06/02 Python
Tensorflow使用Anaconda、pycharm安装记录
2020/07/29 Python
可能这些是你想要的H5软键盘兼容方案(小结)
2019/04/23 HTML / CSS
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
全球销量第一生发产品:Viviscal
2017/12/21 全球购物
软件测试有哪些?什么是配置项?
2012/02/12 面试题
院药学专业个人求职信
2013/09/21 职场文书
2014学校庆三八妇女节活动总结
2014/03/01 职场文书
环境工程专业自荐信
2014/03/03 职场文书
求职信范文大全
2014/05/26 职场文书
公司合作协议范文
2014/10/01 职场文书
2014年新农村建设工作总结
2014/12/01 职场文书
优秀团员主要事迹范文
2015/11/05 职场文书
python not运算符的实例用法
2021/06/30 Python