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}]; // 傳入一個數組 // 按照特定方式格式化 function sortArr(arr, str) { var _arr = [], _t = [], // 臨時的變量 _tmp; // 按照特定的參數將數組排序將具有相同值得排在一起 arr = arr.sort(function(a, b) { var s = a[str], t = b[str]; return s < t ? -1 : 1; }); if ( arr.length ){ _tmp = arr[0][str]; } // console.log( arr ); // 將相同類別的對象添加到統一個數組 for (var i in arr) { console.log( _tmp); if ( arr[i][str] === _tmp ){ console.log(_tmp) _t.push( arr[i] ); } else { _tmp = arr[i][str]; _arr.push( _t ); _t = [arr[i]]; } } // 將最后的內容推出新數組 _arr.push( _t ); return _arr; } sortArr( arr, 'name');
轉載自 https://www.cnblogs.com/whyue/p/8143049.html