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'];你期待的结果是什么?实际看到的错误信息又是什么?
2 回答
紫衣仙女
TA贡献1839条经验 获得超15个赞
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.map(a=>`${a.name}-${a.level}`); console.log(result);
添加回答
举报
0/150
提交
取消