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类定义原型方法的两种实现的区别评论很多
Sep 12 Javascript
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
Nov 12 Javascript
jquery单行文字向上滚动效果的实现代码
Sep 05 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
Mar 26 Javascript
js实现匹配时换色的输入提示特效代码
Aug 17 Javascript
JavaScript正则表达式匹配 div  style标签
Mar 15 Javascript
JS+CSS实现闪烁字体效果代码
Apr 05 Javascript
完美解决IE不支持Data.parse()的问题
Nov 24 Javascript
jQuery实现两列等高并自适应高度
Dec 22 Javascript
js使用generator函数同步执行ajax任务
Sep 05 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
May 27 Javascript
javascript实现前端成语点击验证
Jun 24 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 Memcache 中实现消息队列
2009/11/24 PHP
php统计文章排行示例
2014/03/04 PHP
使用PHPExcel操作Excel用法实例分析
2015/03/26 PHP
Zend Framework入门应用实例详解
2016/12/11 PHP
PHP简单读取xml文件的方法示例
2017/04/20 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
2020/04/26 PHP
关于Javascript 的 prototype问题。
2007/01/03 Javascript
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
2010/06/02 Javascript
js操作textarea 常用方法总结
2012/12/03 Javascript
jQuery:节点(插入,复制,替换,删除)操作
2013/03/04 Javascript
javascipt基础内容--需要注意的细节
2013/04/10 Javascript
判定是否原生方法的JS代码
2013/11/12 Javascript
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
用js闭包的方法实现多点标注冒泡示例
2014/05/29 Javascript
JS判断变量是否为空判断是否null
2014/07/25 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
vue事件修饰符和按键修饰符用法总结
2017/07/25 Javascript
基于node.js的fs核心模块读写文件操作(实例讲解)
2017/09/10 Javascript
node简单实现一个更改头像功能的示例
2017/12/29 Javascript
vue数据传递--我有特殊的实现技巧
2018/03/20 Javascript
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
React 无状态组件(Stateless Component) 与高阶组件
2018/08/14 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
2018/09/14 Javascript
React Component存在的几种形式详解
2018/11/06 Javascript
layui加载表格,绑定新增,编辑删除,查看按钮事件的例子
2019/09/06 Javascript
Python面向对象程序设计之继承与多继承用法分析
2018/07/13 Python
Python全排列操作实例分析
2018/07/24 Python
python 猴子补丁(monkey patch)
2019/06/26 Python
Python动态语言与鸭子类型详解
2019/07/01 Python
python制作英语翻译小工具代码实例
2019/09/09 Python
python实现批量处理将图片粘贴到另一张图片上并保存
2019/12/12 Python
TensorFlow实现指数衰减学习率的方法
2020/02/05 Python
数学系个人求职信范文
2014/01/30 职场文书
读书伴我成长演讲稿
2014/05/07 职场文书
英语系毕业生求职信
2014/07/13 职场文书