文档章节

JS随即打乱数组实现代码

piggybear
 piggybear
发布于 2015/02/16 10:33
字数 302
阅读 15
收藏 0

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

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是随即出现的。所以数组就被随即排序了。*/ 

后面两句输出给你看的。呵呵。

© 著作权归作者所有

共有 人打赏支持
piggybear
粉丝 3
博文 237
码字总数 37552
作品 0
西安
技术主管
私信 提问
【JavaScript】生成一段序列不同的随机数

在JavaScript如果需要生成一段不同的随机数,最好的方法,还是将要产生的随机数的范围放到这一个数组,并打乱这个数组的顺序。 由于JavaScript里面是没有shuffle这个函数的,所以我们要打乱数...

yongh701
09/01
0
0
JavaScript开发的40+个经典技巧

JavaScript是一个绝冠全球的编程语言,可用于Web开发、移动应用开发(PhoneGap、Appcelerator)、服务器端开发(Node.js和Wakanda)等等。JavaScript还是很多新手踏入编程世界的第一个语言。...

大灰狼的小绵羊哥哥
12/06
0
0
用js来实现那些数据结构及算法—目录

  首先,有一点要声明,下面所有文章的所有内容的代码,都不是我一个人独立完成的,它们来自于一本叫做《学习JavaScript数据结构和算法》(第二版),人民邮电出版社出版的这本书。github代...

zaking
05/10
0
0
Emscripten教程之连接C++和JavaScript(三)

翻译:云荒杯倾 本文是Emscripten-WebAssembly专栏系列文章之一,更多文章请查看专栏。 也可以去作者的博客阅读文章。 Emscripten提供了多种方法来连接和交互JavaScript和编译的C或c++,本文...

云荒杯倾
2017/09/18
0
0
通过n次循环获得n个自然数随机排序

刚才在51js看到有网友问,"1到100一百个数,怎么用JS来随机打乱它们的顺序呢?"。他说的这个不就是洗牌问题嘛,想起原来自己在做一个扑克游戏的时候设计过一个高效的洗牌算法,n个自然数通过...

唐玄奘
2017/12/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

解决Python3.7不能安装tensorflow的问题

# Mac pip install https://download.tensorflow.google.cn/mac/cpu/tensorflow-1.12.0-py3-none-any.whl # Linux CPU wget https://storage.googleapis.com/tensorflow/linux/cpu/tensorflo......

陆朋
18分钟前
1
0
基于React+Redux的SSR实现方法

为什么要实现服务端渲染(SSR) 总结下来有以下几点: SEO,让搜索引擎更容易读取页面内容 首屏渲染速度更快(重点),无需等待js文件下载执行的过程 代码同构,服务端和客户端可以共享某些代码...

嫣然丫丫丫
18分钟前
1
0
通过Ajax方式绑定select选项数据的实例

今天小编就为大家分享一篇通过Ajax方式绑定select选项数据的实例,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 问题描述 在编写Web页面的时候常常需...

前端攻城小牛
24分钟前
1
0
exportfs命令 FTP介绍

12月10日任务 14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp 1.exportfs命令 exportfs 命令, 常用选项 -a 全部挂载或者全部卸载 -r 重新挂载 -u 卸载某一...

hhpuppy
27分钟前
0
0
CP2102六合一多功能串口模块使用

这是一个非常好用的调试、烧录接口工具,价格便宜(淘宝10元左右),支持接口全面,简单易用。 一、在电脑上安装CP210x USB驱动 点击此处下载驱动 二、功能选择及接线

NB-One
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部