Array.prototype.Random,随机对Array进行排序的脚本。。
以前也写过的。
不过那时不太懂Array.prototype.sort的使用。
所以那时的结果有问题。
现在这个是经过测试的。
并且排序和Array内的元素无关。
<script>
function Array.prototype.Random()
{
var len=this.length;
var arrt=new Array(len);
for(var i=0;i<len;i++)
arrt[i]={i:i,r:Math.random()};
arrt.sort(function(a,b){return a.r>b.r?1:a.r<b.r?-1:0});
var arrr=new Array(len);
for(var i=0;i<len;i++)
arrr[i]=this[arrt[i].i];
return arrr;
}
var d1=new Date();
var c=40;
var arr=new Array();
var a=[];
for(var i=0;i<c;i++)
{
arr[i]=i+.5;
a[i]=0;
}
for(var j=0;j<1000;j++)
{
var arr2=arr.Random()
for(var i=0;i<c;i++)
a[i]+=arr2[i];
}
var d2=new Date();
alert([
a,"\n","Millisecnods",d2-d1
]);
</script>