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');