您的位置:首页 > Web前端 > JavaScript

js随机打乱一个数组

2016-12-01 16:20 344 查看
//法1
function shuffle(array) {
var currentIndex = array.length, temporaryValue, randomIndex;
/*method1--bigin*/
while (0 !== currentIndex) {
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
/*method1--end*/

/*method2--begin*/
for(var j, x,i=currentIndex; j=parseInt(Math.random() * i), x = array[--i],array[i] = array[j],this[j] = x);
/*method2--end*/

return array;
}
var arr = [2, 11, 37, 42];
arr = shuffle(arr);
console.log(arr);

//法2[自定制sort函数]
(function(){
var count = 100000,arr = [];
for(var i=0;i<count;i++){
arr.push(i);
}
//常规方法,sort()
var t = new Date().getTime();
Array.prototype.sort.call(arr,function(a,b){ return Math.random()>.5 ? -1 : 1;});
document.write(arr+'<br/>');
var t1 = new Date().getTime();
document.write(t1-t);
})()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js