zoukankan      html  css  js  c++  java
  • 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');
    此博客文章多为本姑娘学习笔记!有不对的地方还望指正!!!么么哒
  • 相关阅读:
    85. Maximal Rectangle
    120. Triangle
    72. Edit Distance
    39. Combination Sum
    44. Wildcard Matching
    138. Copy List with Random Pointer
    91. Decode Ways
    142. Linked List Cycle II
    异或的性质及应用
    64. Minimum Path Sum
  • 原文地址:https://www.cnblogs.com/whyue/p/8143049.html
Copyright © 2011-2022 走看看