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


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM