js数组,去重并筛选按类别并根据数值大小排序

output数组去重排序筛选
//需要实现的代码//1.如果id重复,去除level值小的一项//2.属性acitive为true的项目排行靠前//3.属性acitive相同时,level高的靠前//4.返回项目格式为名称-等级的字符串//return...
题目来源及自己的思路
我的思路就是使用ForEach去重如何使用filter筛选。。。。然后就不会了,刚进入js就给我一个大乱炖求大神解析!!!!!
相关代码
//下列是题目自带条件constStacks=[{
id:1,
name:'JavaScript',
level:1,
active:true
},{
id:2,
name:'CSS',
level:3,
active:false
},{
id:3,
name:'HTML',
level:2,
active:true
},{
id:1,
name:'JavaScript',
level:4,
active:true
},{
id:4,
name:'JQuery',
level:1,
active:false
}]functionoutput2(Arr){}output2(Stacks);//结果返回//['JavaScript-4','HTML-2','CSS-3','JQuery-1'];
你期待的结果是什么?实际看到的错误信息又是什么?
慕姐8265434
浏览 1198回答 2
2回答

紫衣仙女

letresult=Stacks.filter(a=>!Stacks.some(b=>a!==b&&a.id===b.id&&b.level>a.level)).sort((a,b)=>a.active>b.active?-1:(a.active`${a.name}-${a.level}`);console.log(result);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript