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 相关文章推荐
创建一个复制UBB软件信息的链接或按钮的js代码
Jan 06 Javascript
JavaScript 学习点滴记录
Apr 24 Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
Aug 05 Javascript
JavaScript下利用fso判断文件是否存在的代码
Dec 11 Javascript
让元素在网页中可拖动示例代码
Aug 13 Javascript
三种动态加载js的jquery实例代码另附去除js方法
Apr 30 Javascript
前端构建工具之gulp的配置与搭建详解
Jun 12 Javascript
vue插件draggable实现拖拽移动图片顺序
Dec 01 Javascript
学习node.js 断言的使用详解
Mar 18 Javascript
vue+elementui 对话框取消 表单验证重置示例
Oct 29 Javascript
在vue中使用回调函数,this调用无效的解决
Aug 11 Javascript
一定要知道的 25 个 Vue 技巧
Nov 02 Vue.js
使用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
多文件上传的例子
2006/10/09 PHP
PHP全概率运算函数(优化版) Webgame开发必备
2011/07/04 PHP
php使用glob函数快速查询指定目录文件的方法
2014/11/15 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
PHP实现适用于文件内容操作的分页类
2016/06/15 PHP
关于php中的json_encode()和json_decode()函数的一些说明
2016/11/20 PHP
使用onbeforeunload属性后的副作用
2007/03/08 Javascript
FormValid0.5版本发布,带ajax自定义验证例子
2007/08/17 Javascript
javascript实现的距离现在多长时间后的一个格式化的日期
2009/10/29 Javascript
理解javascript中的严格模式
2016/02/01 Javascript
jQuery特殊符号转义的实现
2016/11/30 Javascript
利用node.js搭建简单web服务器的方法教程
2017/02/20 Javascript
JavaScript对象引用与赋值实例详解
2017/03/15 Javascript
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
小程序实现带年月选取效果的日历
2018/06/27 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
2018/08/01 Javascript
在vue中使用v-bind:class的选项卡方法
2018/09/27 Javascript
vue中如何去掉空格的方法实现
2018/11/09 Javascript
vue单应用在ios系统中实现微信分享功能操作
2020/09/07 Javascript
[02:41]辉夜杯现场一家三口 “我爸玩风行 我玩血魔”
2015/12/27 DOTA
基于Python实现通过微信搜索功能查看谁把你删除了
2016/01/27 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
Python之inspect模块实现获取加载模块路径的方法
2018/10/16 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
Python根据指定文件生成XML的方法
2020/06/29 Python
html5各种页面切换效果和模态对话框用法总结
2014/12/15 HTML / CSS
sealed修饰符是干什么的
2012/10/23 面试题
委托公证书
2014/04/08 职场文书
优秀共产党员先进事迹材料
2014/05/06 职场文书
中考标语大全
2014/06/05 职场文书
应聘教师自荐书
2014/06/16 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
钢琴师观后感
2015/06/12 职场文书
2015选调生工作总结
2015/07/24 职场文书
2016毕业实习单位评语大全
2015/12/01 职场文书
机关单位2016年创先争优活动总结
2016/04/05 职场文书