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 常见开发使用技巧总结
Dec 26 Javascript
jQuery UI的Dialog无法提交问题的解决方法
Jan 11 Javascript
JQuery中的$.getJSON 使用说明
Mar 10 Javascript
jquery dialog open后,服务器端控件失效的快速解决方法
Dec 19 Javascript
select多选 multiple的使用示例
Jun 16 Javascript
javascript中DOM复选框选择用法实例
May 14 Javascript
js图片切换具体实现代码
Oct 13 Javascript
Bootstrap中datetimepicker使用小结
Dec 28 Javascript
浅谈webpack组织模块的原理
Mar 10 Javascript
Vue+Typescript中在Vue上挂载axios使用时报错问题
Aug 07 Javascript
详解Angular cli配置过程记录
Nov 07 Javascript
详解Vscode中使用Eslint终极配置大全
Nov 08 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之第二天
2006/10/09 PHP
PHP删除HTMl标签的实现代码
2013/06/30 PHP
让任务管理器中的CPU跳舞的js代码
2008/11/01 Javascript
DIV菜单层实现代码
2010/11/19 Javascript
jQuery 淡出一个图像到另一个图像的实现代码
2013/06/12 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
使用jQuery实现Web页面换肤功能的要点解析
2016/05/12 Javascript
JavaScrpt判断一个数是否是质数的实例代码
2017/06/11 Javascript
详解JS中的this、apply、call、bind(经典面试题)
2017/09/19 Javascript
jackson解析json字符串,首字母大写会自动转为小写的方法
2017/12/22 Javascript
vue通过路由实现页面刷新的方法
2018/01/25 Javascript
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
JavaScript数组特性与实践应用深入详解
2018/12/30 Javascript
ES2020 新特性(种草)
2020/01/12 Javascript
vue实现单一筛选、删除筛选条件
2020/10/26 Javascript
[51:39]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第二场 2月7日
2021/03/11 DOTA
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
2017/07/11 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
python命令行工具Click快速掌握
2019/07/04 Python
python爬虫 execjs安装配置及使用
2019/07/30 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
python开发入门——set的使用
2020/09/03 Python
35款精致的 CSS3 和 HTML5 网页模板 推荐
2012/08/03 HTML / CSS
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
2016/04/26 HTML / CSS
美国牛仔品牌:True Religion
2018/11/16 全球购物
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
AP澳洲中文网:澳洲正品直邮,包税收件无忧
2019/07/12 全球购物
秘书行业自我鉴定范文
2013/12/30 职场文书
教师个人的自我评价分享
2014/01/02 职场文书
演讲比赛策划方案
2014/06/11 职场文书
中职生自荐信范文
2014/06/15 职场文书
小学生学习保证书
2015/02/26 职场文书
职工培训工作总结
2015/08/10 职场文书
如何拟写通知正文?
2019/04/02 职场文书
java多态注意项小结
2021/10/16 Java/Android