JS打乱数组最高效的方法

转载 2015年11月18日 22:29:24

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

 

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

 


js打乱数组顺序最佳解决方案

var array= new Array(6) arr[0] = "1" arr[1] = "2" arr[2] = "3" arr[3] = "4" arr[4] = "5" arr[5] = "6...
  • u011623030
  • u011623030
  • 2017年06月08日 11:33
  • 1277

JS打乱数组最高效的方法

var arr=[];     for(var i=0;i             arr[i]=i;         }     arr.sort(function(){ return 0....
  • qsbqing
  • qsbqing
  • 2013年12月13日 13:41
  • 470

完美洗牌问题(打乱数组间各元素的顺序)

除了前一篇的完美洗牌问题,还有一种洗牌,就是乱序(shuffle)的问题,将54张有序的扑克牌的顺序打乱,实现洗牌操作。局部洗牌法1。随机产生一个1-n的数x,做为第一张牌。 2。随机产生一个1-(...
  • oMengLiShuiXiang1234
  • oMengLiShuiXiang1234
  • 2016年05月04日 16:32
  • 2505

用 公平的算法 把一个数组打乱(两种实现方式)

公平算法,打乱数组 这是前几天面试的时候遇见的一道题目,看到这个题首先想到了洗牌程序: 方法一:洗牌程序原理 在java.util包中的Collections类中的 shuffle方法,现在手工...
  • topwqp
  • topwqp
  • 2013年03月30日 13:50
  • 2903

将一个JS数组彻底打乱顺序

使用sort方法?借助 sort 方法不是真正意义上的完全乱序var letters = ['A','B','C','D','E','F','G','H','I','J'];比如 A 元素大概率出现在...
  • duola8789
  • duola8789
  • 2017年12月08日 11:36
  • 367

JS 打乱数组

JS中,要打乱数组有很多方法,网上流传一个国外人写的方法,我认为是最精简的了: function randomsort(a, b) { return Math.random()>....
  • yiluoAK_47
  • yiluoAK_47
  • 2012年11月15日 15:38
  • 2500

js随机打乱一个数组

//法1 function shuffle(array) { var currentIndex = array.length, temporaryValue, randomIndex; ...
  • liaozhongping
  • liaozhongping
  • 2016年12月01日 16:20
  • 821

java打乱数组顺序

java打乱数组顺序
  • jacke121
  • jacke121
  • 2017年03月27日 15:51
  • 2342

分享两个JavaScript打乱数组顺序实现随机排序洗牌的方法(应用于音乐视频的随机播放等)

实现方法一:function randomSort(arr) { // 对数组进行随机打乱, // return大于0则交换位置,小于等于0就不交换 // 由于Math.random()产...
  • Fabulous1111
  • Fabulous1111
  • 2017年11月14日 00:00
  • 5798

如何打乱一个数组的顺序

//   数组自由排列    public static void RandomTest() { Random ran = new Random(); int a[] = { 1, 2, 3, ...
  • jiangfeng08
  • jiangfeng08
  • 2008年09月05日 13:57
  • 779
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JS打乱数组最高效的方法
举报原因:
原因补充:

(最多只允许输入30个字)