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 相关文章推荐
幻灯片带网页设计中的20个奇妙应用示例小结
May 27 Javascript
js实现上传图片之上传前预览图片
Mar 25 Javascript
MyEclipse取消验证Js的两种方法
Nov 14 Javascript
jquery序列化方法实例分析
Jun 10 Javascript
使用impress.js制作幻灯片
Sep 09 Javascript
javascript自定义滚动条实现代码
Apr 20 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
May 25 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
Aug 02 Javascript
Vue中图片Src使用变量的方法
Oct 30 Javascript
Vue.js实现立体计算器
Feb 22 Javascript
vue使用canvas实现移动端手写签名
Sep 22 Javascript
详解Typescript里的This的使用方法
Jan 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 手机归属地查询 api
2010/02/08 PHP
解析如何屏蔽php中的phpinfo()函数
2013/06/06 PHP
php define的第二个参数使用方法
2013/11/04 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
2014/05/05 PHP
最新制作ThinkPHP3.2.3完全开发手册
2015/11/23 PHP
php 魔术常量详解及实例代码
2016/12/04 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
JS 建立对象的方法
2007/04/21 Javascript
JQuery的Validation插件中Remote验证的中文问题
2010/07/26 Javascript
Firefox中autocomplete=&quot;off&quot; 设置不起作用Bug的解决方法
2011/03/25 Javascript
js验证电话号码与手机支持+86的正则表达式
2014/01/23 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
Js 正则表达式知识汇总
2014/12/02 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
2014/12/29 Javascript
JavaScript DOM 学习总结(五)
2015/11/24 Javascript
使用jQuery监听DOM元素大小变化
2016/02/24 Javascript
快速解决jquery.touchSwipe左右滑动和垂直滚动条冲突
2016/04/15 Javascript
jQuery短信验证倒计时功能实现方法详解
2016/05/25 Javascript
AngularJS实现根据不同条件显示不同控件
2017/04/20 Javascript
jQuery异步提交表单实例
2017/05/30 jQuery
详解vue2.0 使用动态组件实现 Tab 标签页切换效果(vue-cli)
2017/08/30 Javascript
详解使用nvm管理多版本node的方法
2017/08/30 Javascript
vue中el-upload上传图片到七牛的示例代码
2018/10/19 Javascript
使用vue-cli4.0快速搭建一个项目的方法步骤
2019/12/04 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
2020/11/07 Javascript
Django视图和URL配置详解
2018/01/31 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
2018/02/21 Python
pyqt远程批量执行Linux命令程序的方法
2019/02/14 Python
在linux下实现 python 监控usb设备信号
2019/07/03 Python
python写入数据到csv或xlsx文件的3种方法
2019/08/23 Python
python实现跨年表白神器--你值得拥有
2021/01/04 Python
HTML5 本地存储实现购物车功能
2017/09/07 HTML / CSS
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
民政局未婚证明
2015/06/15 职场文书
Python帮你解决手机qq微信内存占用太多问题
2022/02/15 Python