1. 程式人生 > >JavaScript 將數組中具有相同值的對象 取出組成新的數組

JavaScript 將數組中具有相同值的對象 取出組成新的數組

else 一個數 function 內容 pre 統一 .so gpo fun

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

JavaScript 將數組中具有相同值的對象 取出組成新的數組