JS随即打乱数组实现代码


Posted in Javascript onDecember 03, 2012

这个方法是我见过对高效的。

var arr=[]; 
for(var i=0;i<100;i++){ 
arr[i]=i; 
} 
arr.sort(function(){ return 0.5 - Math.random() }) 
var str=arr.join(); 
alert(str);

代码解释:
var arr=[];//新建一个数组 这是大家推荐的方式。//而不推荐使用 var arr=new Array();
这句不用解释了。
for(var i=0;i<100;i++){ arr[i]=i; }//循环给数组赋值
关键第地方来了
代码 
arr.sort(function(){ return 0.5 - Math.random() }) 
//sort 是对数组进行排序 
//他的是这样工作的。每次从数组里面挑选两个数 进行运算。 
//如果传入的参数是0 两个数位置不变。 
//如果参数小于0 就交换位置 
//如果参数大于0就不交换位置 
//接下来用刚才的较大数字跟下一个进行比较。这样循环进行排序。 
/*恰好。我们利用了这一点使用了0.5 - Math.random 这个运算的结果要么是大于0,要么是小于0.这样要么交换位置,要么不交换位置。当然大于或者小于0是随即出现的。所以数组就被随即排序了。*/

后面两句输出给你看的。呵呵。
Javascript 相关文章推荐
JS分割字符串并放入数组的函数
Jul 04 Javascript
鼠标焦点离开文本框时验证的js代码
Jul 19 Javascript
二叉树的非递归后序遍历算法实例详解
Feb 07 Javascript
javascript常用正则表达式汇总
Jul 31 Javascript
微信小程序 Nginx环境配置详细介绍
Feb 14 Javascript
浅谈关于axios和session的一些事
Jul 13 Javascript
EasyUI框架 使用Ajax提交注册信息的实现代码
Sep 27 Javascript
JavaScript学习笔记之基于定时器实现图片无缝滚动功能详解
Jan 09 Javascript
vue+element加入签名效果(移动端可用)
Jun 17 Javascript
vue实现简单学生信息管理
May 30 Javascript
vue使用better-scroll实现滑动以及左右联动
Jun 30 Javascript
node.js使用express-fileupload中间件实现文件上传
Jul 16 Javascript
JS图片预加载 JS实现图片预加载应用
Dec 03 #Javascript
输入密码检测大写是否锁定js实现代码
Dec 03 #Javascript
js操作textarea 常用方法总结
Dec 03 #Javascript
javascript object array方法使用详解
Dec 03 #Javascript
让AJAX不依赖后端接口实现方案
Dec 03 #Javascript
Javascript在IE和FireFox中的不同表现简析
Dec 03 #Javascript
js+JQuery返回顶部功能如何实现
Dec 03 #Javascript
You might like
PHP setcookie() cannot modify header information 的解决方法
2009/01/09 PHP
thinkphp多层MVC用法分析
2015/12/30 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
js类中获取外部函数名的方法与代码
2007/09/12 Javascript
javascript 字符串连接的性能问题(多浏览器)
2008/11/18 Javascript
基于jQuery的模仿新浪微博时间的组件
2011/10/04 Javascript
jquery()函数的三种语法介绍
2013/10/09 Javascript
详解jQuery插件开发中的extend方法
2013/11/19 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
2015/03/26 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
2015/09/20 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
2016/05/20 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
2016/07/14 Javascript
关于JavaScript中的this指向问题总结篇
2017/07/23 Javascript
纯js实现图片匀速淡入淡出效果
2017/08/22 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
使用node搭建自动发图文微博机器人的方法
2019/03/22 Javascript
es6 for循环中let和var区别详解
2020/01/12 Javascript
vue 项目@change多个参数传值多个事件的操作
2021/01/29 Vue.js
[40:57]TI4 循环赛第二日 iG vs EG
2014/07/11 DOTA
[55:54]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
详谈Python基础之内置函数和递归
2017/06/21 Python
Python中字典和集合学习小结
2017/07/07 Python
python抓取需要扫微信登陆页面
2019/04/29 Python
Pandas将列表(List)转换为数据框(Dataframe)
2020/04/24 Python
python 三种方法提取pdf中的图片
2021/02/07 Python
css3简单练习实现遨游浏览器logo的绘制
2013/01/30 HTML / CSS
迪奥官网:Dior.com
2018/12/04 全球购物
Linux如何修改文件和文件夹的权限
2013/09/05 面试题
捷科时代的软件测试笔试题
2015/11/09 面试题
假释思想汇报范文
2014/10/11 职场文书
酒店人事专员岗位职责
2015/04/07 职场文书
个人收入证明范本
2015/06/12 职场文书
入党宣誓仪式主持词
2015/06/29 职场文书
就业指导讲座心得体会
2016/01/15 职场文书
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python
Oracle中update和select 关联操作
2022/01/18 Oracle