js 统计数组去重 (精简)

//////////-》废话不多说 直接上代码吧
 
let item = [
        {id:1,Num:1},
        {id:1,Num:1},
        {id:2,Num:1},
        {id:3,Num:1},
        {id:2,Num:1},
        {id:3,Num:1},
        {id:3,Num:1},
        {id:4,Num:1},
        {id:5,Num:1},
        {id:5,Num:1},
        {id:5,Num:1},
        {id:6,Num:1},
        {id:56,Num:1},
        {id:57,Num:1},
      ]
      let item2 = []
      let item3 = []
      item.forEach(function(value , index , array){ 
   // 去重
        if(item2.indexOf(value.id) != -1){
          for(var j = 0 ;j <item3.length;j++ ){
    // 统计计数
            if(item3[j].id == value.id){
              item3[j].Num++
            }
          }
        }else{
          item2.push(value.id)
          item3.push(value)
        }
        console.log(value , index , array)
      },this) 
      console.log(item2)
      console.log(item3)
///--------------------------》
注:
item 是原数组 (这里只是因该是不确定的数据。为了展示写的死数据)
item2 截取原数组中的去重的子元素对象
item3 条件过滤后的数组 
posted @ 2020-04-22 17:56  失去时间  阅读(227)  评论(0编辑  收藏  举报