1 var arr=[{name:2,id:3},{name:2,id:4},{name:3,id:5},{name:3,id:6},{name:1,id:1},{name:1,id:2}];
2
3 // 传入一个数组
4 // 按照特定方式格式化
5 function sortArr(arr, str) {
6 var _arr = [],
7 _t = [],
8 // 临时的变量
9 _tmp;
10
11 // 按照特定的参数将数组排序将具有相同值得排在一起
12 arr = arr.sort(function(a, b) {
13 var s = a[str],
14 t = b[str];
15
16 return s < t ? -1 : 1;
17 });
18
19 if ( arr.length ){
20 _tmp = arr[0][str];
21 }
22 // console.log( arr );
23 // 将相同类别的对象添加到统一个数组
24 for (var i in arr) {
25 console.log( _tmp);
26 if ( arr[i][str] === _tmp ){
27 console.log(_tmp)
28 _t.push( arr[i] );
29 } else {
30 _tmp = arr[i][str];
31 _arr.push( _t );
32 _t = [arr[i]];
33 }
34 }
35 // 将最后的内容推出新数组
36 _arr.push( _t );
37 return _arr;
38 }
39
40 sortArr( arr, 'name');