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