你的位置:首页 > Java教程

[Java教程]js将数组中元素随机打乱排序


js将数组中元素随机打乱排序:
打乱数组中元素的顺序也是时常用到的操作,实现此效果的方式有多种,这里只介绍其中的一种。
代码如下:

function randomSort(a,b){ return Math.random()>0.5?-1:1;}var arr=[1,2,3,4,5];var newArray=arr.sort(randomSort);console.log(newArray);

以上代码,每执行一次都会将原有的数组打乱,这里主要是两个函数。
1.Math.random()函数可以参阅javascript的Math对象的random()方法一章节。
2.sort()函数可以参阅JavaScript的Array对象的sort()方法一章节。
为了加强理解,再看一段代码实例:

var aArr=[]; for(var i=0;i<100;i++){  aArr.push(i);} function randomSort(a,b){ return Math.random()>0.5?-1:1; } aArr.sort(randomSort);   function showIndex(num){  for(var j=0;j<aArr.length;j++){   if(aArr[j]==num){    console.log(j);    break;   }  } } showIndex(43);

以上代码通过for循环创建一个数组,然后使用sort()函数结合Math.random()函数将数组中元素的顺序打乱,然后可以求出给定元素的索引值,代码比较简单,这里就不多介绍了,如有任何问题可以跟帖留言。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=9396

更多内容可以参阅:http://www.softwhy.com/javascript/