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 相关文章推荐
javascript 混合的构造函数和原型方式,动态原型方式
Dec 07 Javascript
三种方式获取XMLHttpRequest对象
Apr 21 Javascript
javascript trim函数在IE下不能用的解决方法
Sep 12 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
Jun 20 Javascript
通过隐藏iframe实现无刷新上传文件操作
Mar 16 Javascript
jquery zTree异步加载、模糊搜索简单实例分享
Mar 24 Javascript
[原创]JQuery 在表单提交之前修改 提交的值
Apr 14 Javascript
vuejs动态组件给子组件传递数据的方法详解
Sep 09 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
Aug 08 Javascript
如何编写一个完整的Angular4 FormText 组件
Nov 18 Javascript
vue中使用refs定位dom出现undefined的解决方法
Dec 21 Javascript
在HTML5 localStorage中存储对象的示例代码
Apr 21 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中flush()、ob_flush()、ob_end_flush()的区别介绍
2013/02/17 PHP
浅析get与post的一些特殊情况
2014/07/28 PHP
thinkphp循环结构用法实例
2014/11/24 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
jquerymobile checkbox及时刷新才能获取其准确值
2012/04/14 Javascript
分享精心挑选的12款优秀jQuery Ajax分页插件和教程
2012/08/09 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
浅析Cookie中的Path与domain
2013/12/18 Javascript
Jquery getJSON方法详细分析
2013/12/26 Javascript
js对图片base64编码字符串进行解码并输出图像示例
2014/03/17 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
2014/06/24 Javascript
extjs 如何给column 加上提示
2014/07/29 Javascript
浅谈JavaScript中的对象及Promise对象的实现
2015/11/15 Javascript
jquery判断复选框选中状态以及区分attr和prop
2015/12/18 Javascript
JavaScript制作简单的日历效果
2016/03/10 Javascript
jQuery使用ajax跨域获取数据的简单实例
2016/05/18 Javascript
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
animate.css在vue项目中的使用教程
2018/08/05 Javascript
js中let能否完全替代IIFE
2019/06/15 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
Vue实现浏览器打印功能的代码
2020/04/17 Javascript
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
各个系统下的Python解释器相关安装方法
2015/10/12 Python
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
python切片及sys.argv[]用法详解
2018/05/25 Python
详解pandas中MultiIndex和对象实际索引不一致问题
2019/07/23 Python
python UDF 实现对csv批量md5加密操作
2021/01/01 Python
css3圆角边框和边框阴影示例
2014/05/05 HTML / CSS
教师节演讲稿
2014/05/06 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
信访维稳承诺书
2015/05/04 职场文书
2015年“公民道德宣传日”活动方案
2015/05/06 职场文书
退休劳动合同怎么写?
2019/10/25 职场文书
Python字符串常规操作小结
2022/04/03 Python