随机排序数组

做随机显示推荐广告的时候,需要随机排序数据数组,就动手写了一个,如下:

 1 function randomOrder (targetArr)  {
 2     var originalArr = targetArr;
 3     var newArr = [];
 4     var arrLength = targetArr.length;
 5     var j = -1;
 6     var tmpObj = {};
 7     for(var i = 0;i < arrLength;i++){
 8         while(true) {
 9             if(tmpObj[j = parseInt(arrLength * Math.random())] == undefined) {
10                 tmpObj[j] = 1;
11                 console.log(j);
12                 break;
13             }
14         }
15         newArr[i] = originalArr[j];
16     }
17     return newArr;
18 }

 

 但是..后来在网上看到大师写的方法,觉得自己瞬间被秒杀到渣都不剩,如下:

function sortNumber(a,b) {
    return Math.random() - 0.5;
}
var arr = arr=[9,3,1,2,5,8,4,7,6,0];
arr.sort(sortNumber);


自己实在有太多太多需要学习了!!

 

posted @ 2012-11-27 11:32  木头小木头  阅读(262)  评论(0编辑  收藏  举报