js数组对象去重问题

给的数据格式如下:
varstudents=[{
groupid:'123',
groupname:'aaa',
classnick:'小红'
},
{
groupid:'45',
groupname:'bbb',
classnick:'小黑'
},
{
groupid:'',
groupname:'',
classnick:'张三'
},
{
groupid:'233',
groupname:'ccc',
classnick:'李四'
},
{
groupid:'45',
groupname:'bbb',
classnick:'王五'
}];
要转变成如下的格式:
[{
g_id:'123',
g_name:'aaa',
g_count:1
},
{
g_id:'45',
g_name:'bbb',
g_count:2
},
{
g_id:'233',
g_name:'ccc',
g_count:1
}]
怎么实现呢?憋了好长时间了...应该循环几次?
HUH函数
浏览 427回答 2
2回答

Qyouu

functionfilter(students){varobj={};varresult=[];for(vari=0,len=students.length;i

噜噜哒

vararr=(function(){varobj={},num=0;returnstudents.map(x=>{returnobj[x.groupid]?(obj[x.groupid]++,false):(x.groupid?(obj[x.groupid]=1,{g_id:x.groupid,g_name:x.groupname}):false)}).filter(x=>(x.g_count=obj[x.g_id],x))})()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript