JavaScript 將數組中具有相同值的對象 取出組成新的數組
阿新 • • 發佈:2017-12-29
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 將數組中具有相同值的對象 取出組成新的數組