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 相关文章推荐
accesskey 提交
Jun 26 Javascript
firefox浏览器下javascript 拖动层效果与原理分析代码
Dec 04 Javascript
基于jquery ajax 用户无刷新登录方法详解
Apr 28 Javascript
iframe 上下滚动条如何默认在下方实现原理
Dec 10 Javascript
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
Jan 24 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
Sep 02 Javascript
jquery实现翻动fadeIn显示的方法
Mar 05 Javascript
JS实现不规则TAB选项卡效果代码
Sep 16 Javascript
Bootstarp 基础教程之表单部分实例代码
Feb 03 Javascript
阿里大于短信验证码node koa2的实现代码(最新)
Sep 07 Javascript
vue配置多页面的实现方法
May 22 Javascript
JavaScript获取时区实现过程解析
Sep 24 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处理图片变得简单 基于gb库的图片处理类附实例代码下载
2011/05/17 PHP
php更新mysql后获取改变行数的方法
2014/12/25 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
面向对象Javascript核心支持代码分享
2012/05/23 Javascript
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
jquery中子元素和后代元素的区别示例介绍
2014/04/02 Javascript
用C/C++来实现 Node.js 的模块(二)
2014/09/24 Javascript
jQuery往textarea中光标所在位置插入文本的方法
2015/06/26 Javascript
JavaScript创建对象的方式小结(4种方式)
2015/12/17 Javascript
jQuery Jsonp跨域模拟搜索引擎
2017/06/17 jQuery
JS中跳出循环的示例代码
2017/09/14 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
2018/02/07 Javascript
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
使用weixin-java-miniapp配置进行单个小程序的配置详解
2019/03/29 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
2019/06/27 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
Vue解析剪切板图片并实现发送功能
2020/02/04 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
python实现读取命令行参数的方法
2015/05/22 Python
python基本语法练习实例
2017/09/19 Python
Python实现调度算法代码详解
2017/12/01 Python
使用Python监控文件内容变化代码实例
2018/06/04 Python
Python根据欧拉角求旋转矩阵的实例
2019/01/28 Python
Python中调用其他程序的方式详解
2019/08/06 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
html5 div布局与table布局详解
2016/11/16 HTML / CSS
HTML5标签大全
2016/11/23 HTML / CSS
小学生暑假家长评语
2014/04/17 职场文书
揭牌仪式策划方案
2014/05/28 职场文书
学校门卫岗位职责范本
2014/06/30 职场文书
2014年学习委员工作总结
2014/11/14 职场文书
被告代理词范文
2015/05/25 职场文书
导游词范文之颐和园/重庆/云台山
2019/09/10 职场文书
JavaScript 与 TypeScript之间的联系
2021/11/27 Javascript
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python