码迷,mamicode.com
首页 > 编程语言 > 详细

json数据中的某一个字段进行快速排序

时间:2016-04-21 16:45:24      阅读:380      评论:0      收藏:0      [点我收藏+]

标签:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8 
 9 </body>
10 </html>
11 <script type="text/javascript">
12     /***
13      * 快速排序 Quicksort
14      * 第一步 在数据集之中,选择一个元素作为“基准”。
15      * 第二步 所有小于"基准"的元素,都移到"基准"的左边;所有大于"基准"的元素,都移到"基准"的右边。
16      * 第三步 对"基准"左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止。
17      *
18      */
19     var arr_style = [
20         {name: a, phone: 1, value: val_4},
21         {name: b, phone: 5, value: val_3},
22         {name: d, phone: 3, value: val_2},
23         {name: c, phone: 4, value: val_1},
24         {name: e, phone: 13, value: val_5},
25         {name: f, phone: 23, value: val_6},
26         {name: g, phone: 14, value: val_7},
27         {name: h, phone: 43, value: val_8}
28     ];
29     var arr = [];
30     for(var a =0; a< arr_style.length; a++){
31         arr[a]= arr_style[a].phone;
32     }
33     var quicksort = function(arr){
34         if(arr.length <= 1){return arr;}
35         var pivotIndex = Math.floor(arr.length/2);
36         var pivot = arr.splice(pivotIndex, 1)[0];
37         var left = [];
38         var right = [];
39 
40         for(var i = 0; i< arr.length; i++){
41             if(arr[i] < pivot){
42                 left.push(arr[i]);
43             }else{
44                 right.push(arr[i]);
45             }
46         }
47         return quicksort(left).concat([pivot], quicksort(right));
48     }
49     var result = quicksort(arr);
50     console.log(JSON.stringify(result));
51 </script>

 

json数据中的某一个字段进行快速排序

标签:

原文地址:http://www.cnblogs.com/liubeimeng/p/5417452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!