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 相关文章推荐
XHTML下,JS浮动代码失效的问题
Nov 12 Javascript
浅谈js内置对象Math的属性和方法(推荐)
Sep 19 Javascript
JS实现图片放大缩小的方法
Feb 15 Javascript
原生js实现轮播图
Feb 27 Javascript
JavaScript设计模式之策略模式详解
Jun 09 Javascript
浅谈Webpack 是如何加载模块的
May 24 Javascript
详解vue.js下引入百度地图jsApi的两种方法
Jul 27 Javascript
vue仿element实现分页器效果
Sep 13 Javascript
微信小程序实现单选选项卡切换效果
Jun 19 Javascript
原生js实现ajax请求和JSONP跨域请求操作示例
Mar 14 Javascript
JS原形与原型链深入详解
May 09 Javascript
vue 使用post/get 下载导出文件操作
Aug 07 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之PHP语法学习笔记1
2006/12/17 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
2014/11/05 PHP
PHP函数extension_loaded()用法实例
2015/01/19 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
PHP addAttribute()函数讲解
2019/02/03 PHP
网上应用的一个不错common.js脚本
2007/08/08 Javascript
JavaScript的9个陷阱及评点分析
2008/05/16 Javascript
js检测输入内容全为空格的方法
2014/05/03 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
JS实现的简单轮播图运动效果示例
2016/12/22 Javascript
js实现左右两侧浮动广告
2018/07/09 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
2018/09/16 Javascript
vue-cli3.0 环境变量与模式配置方法
2018/11/08 Javascript
微信内置浏览器图片查看器的代码实例
2019/10/08 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
2020/02/28 Javascript
ES5新增数组的实现方法
2020/05/12 Javascript
关于javascript中的promise的用法和注意事项(推荐)
2021/01/15 Javascript
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
2017/05/24 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
2017/11/30 Python
django的model操作汇整详解
2019/07/26 Python
详解Django CAS 解决方案
2019/10/30 Python
Python PyPDF2模块安装使用解析
2020/01/19 Python
python程序需要编译吗
2020/06/19 Python
解决python3中os.popen()出错的问题
2020/11/19 Python
如何用H5实现一个触屏版的轮播器的实例
2017/01/09 HTML / CSS
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
C#面试题
2016/05/06 面试题
总经理的岗位职责
2014/02/23 职场文书
酒店采购员岗位职责
2014/03/14 职场文书
电气自动化求职信
2014/06/24 职场文书
名人演讲稿范文
2014/09/16 职场文书
地方白酒代理协议书
2014/10/25 职场文书
就业推荐表自我评价范文
2015/03/02 职场文书
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
2021/06/26 Python
前端JavaScript大管家 package.json
2021/11/02 Javascript