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实现层随着内容大小动态渐变改变 推荐
Dec 19 Javascript
用jquery实现的一个超级简单的下拉菜单
May 18 Javascript
浅析JQuery中的html(),text(),val()区别
Sep 01 Javascript
在JS方法中返回多个值的方法汇总
May 20 Javascript
jquery获取多个checkbox的值异步提交给php
Jul 07 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
May 10 Javascript
javascript回调函数的概念理解与用法分析
May 27 Javascript
解决JS内存泄露之js对象和dom对象互相引用问题
Jun 25 Javascript
vue2.0 datepicker使用方法
Feb 04 Javascript
在VUE style中使用data中的变量的方法
Jun 19 Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
Jun 29 Javascript
JS数组去重详情
Nov 07 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实现zip压缩文件解压缩代码分享(简单易懂)
2014/05/10 PHP
PHP数组操作类实例
2015/07/11 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
2017/07/31 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
2018/11/22 PHP
Laravel 框架返回状态拦截代码
2019/10/18 PHP
js中哈希表的几种用法总结
2014/01/28 Javascript
使用js实现的简单拖拽效果
2015/03/18 Javascript
使用JQuery中的trim()方法去掉前后空格
2016/09/16 Javascript
jquery 动态增加,减少input表单的简单方法(必看)
2016/10/12 Javascript
jQuery实现动态添加、删除按钮及input输入框的方法
2017/04/27 jQuery
React-Native 组件之 Modal的使用详解
2017/08/08 Javascript
vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
2017/10/16 Javascript
解决vue的变量在settimeout内部效果失效的问题
2018/08/30 Javascript
原生JS实现列表内容自动向上滚动效果
2019/05/22 Javascript
vue子传父关于.sync与$emit的实现
2019/11/05 Javascript
python中对list去重的多种方法
2014/09/18 Python
简单介绍利用TK在Python下进行GUI编程的教程
2015/04/13 Python
Python3中在Anaconda环境下安装basemap包
2018/10/21 Python
使用批处理脚本自动生成并上传NuGet包(操作方法)
2019/11/19 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
Python切片列表字符串如何实现切换
2020/08/06 Python
印度首个本地在线平台:nearbuy
2019/03/28 全球购物
俄罗斯建筑和装饰材料在线商店:Stroilandia
2020/07/25 全球购物
衰败城市英国官网:Urban Decay英国
2020/04/29 全球购物
党校培训自我鉴定范文
2014/04/10 职场文书
带病坚持工作事迹
2014/05/03 职场文书
初一新生军训方案
2014/05/22 职场文书
民主生活会对照检查材料(统计局)
2014/09/21 职场文书
中职毕业生自我鉴定范文(3篇)
2014/09/28 职场文书
公司向个人借款协议书范本
2014/10/09 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书
JavaScript+HTML实现学生信息管理系统
2021/04/20 Javascript
Vue监视数据的原理详解
2022/02/24 Vue.js
Python+OpenCV实现图片中的圆形检测
2022/04/07 Python