自己写的两维数组排序--快速排序实现

 1                 /**
 2                  * 对两维数组排序
 3                  *
 4                  *@var arr     array 数组对象
 5                  *@var sortKey int|String 排序key
 6                  *@var sortOrder asc|desc
 7                  *
 8                  */
 9                function sortArray(arr,sortKey,sortOrder){
10                          if(!sortOrder){
11                                 sortOrder = 'asc';
12                          }
13                           var item = null;
14                           //快速排序法
15                           for(var i=0,len=arr.length; i <len; i++ ){
16                                   for(var j=i+1; j<len; j++){
17                                           if( needSwitch(arr[i],arr[j]) ){
18                                                   item   = arr[i];
19                                                   arr[i] = arr[j];
20                                                   arr[j] = item;
21                                           }
22                                   }
23                           }
24                           return arr;
25 
26 
27                           function needSwitch(item1,item2)
28                           {
29                                   for(var k in item1){
30                                           if(k == sortKey){
31                                                   if(sortOrder.toLowerCase() == 'asc'){
32                                                           return parseFloat(item1[k]) > parseFloat(item2[k]);
33                                                   }else{
34                                                           return parseFloat(item1[k]) < parseFloat(item2[k]);
35                                                   }
36                                           }
37                                   }
38                           }
39               }

 

posted @ 2010-09-28 13:46  wingle  阅读(221)  评论(0编辑  收藏  举报