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 相关文章推荐
Javascript 布尔型分析
Dec 22 Javascript
为调试JavaScript添加输出窗口的代码
Feb 07 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
Aug 01 Javascript
javascript 回到顶部效果的实现代码
Feb 17 Javascript
用Jquery选择器计算table中的某一列某一行的合计
Aug 13 Javascript
js中日期的加减法
May 06 Javascript
Bootstrap基本模板的使用和理解1
Dec 14 Javascript
vue脚手架中配置Sass的方法
Jan 04 Javascript
webpack之引入图片的实现及问题
Oct 08 Javascript
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
Feb 14 jQuery
jQuery设置下拉框显示与隐藏效果的方法分析
Sep 15 jQuery
基于原生js实现九宫格算法代码实例
Jul 03 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
《被神捡到的男人》动画化计划进行中!
2020/03/06 日漫
php中0,null,empty,空,false,字符串关系的详细介绍
2013/06/20 PHP
Javascript与PHP验证用户输入URL地址是否正确
2014/10/09 PHP
javascript数组与php数组的地址传递及值传递用法实例
2015/01/22 PHP
php进程间通讯实例分析
2016/07/11 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
2016/12/14 PHP
PHP如何解决微信文章图片防盗链
2020/12/09 PHP
Nigma vs Liquid BO3 第二场2.14
2021/03/10 DOTA
JQuery.uploadify 上传文件插件的使用详解 for ASP.NET
2010/01/22 Javascript
js实现分享到随页面滚动而滑动效果的方法
2015/04/10 Javascript
js实现不提交表单获取单选按钮值的方法
2015/08/21 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
JavaScript实现解析INI文件内容的方法
2016/11/17 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
想学习javascript JS和jQuery哪个重要 先学哪个
2016/12/11 Javascript
Vue.js结合bootstrap实现分页控件
2017/03/10 Javascript
angular动态删除ng-repaeat添加的dom节点的方法
2017/07/20 Javascript
详解vue中使用express+fetch获取本地json文件
2017/10/10 Javascript
JS+Canvas绘制动态时钟效果
2017/11/10 Javascript
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
关于python3中setup.py小概念解析
2019/08/22 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
简单介绍HTML5中的文件导入
2015/05/08 HTML / CSS
移动HTML5前端框架—MUI的使用
2017/12/18 HTML / CSS
详解HTML5常用的语义化标签
2019/09/27 HTML / CSS
巴西最大的家具及装饰用品店:Mobly
2017/10/11 全球购物
Luxplus丹麦:香水和个人护理折扣
2018/04/23 全球购物
巴西女装购物网站:Eclectic
2018/04/24 全球购物
学习心得体会
2014/01/01 职场文书
计算机专业毕业生求职信
2014/04/30 职场文书
2015年路政工作总结
2015/05/22 职场文书
张丽莉观后感
2015/06/16 职场文书
法定授权委托证明书
2015/06/18 职场文书
2016教师暑期培训学习心得体会
2016/01/09 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书
JavaScript文档对象模型DOM
2021/11/20 Javascript