dd 以下是一个考试成绩的对象,每个人有两次的考试机会需要返回考生考试最高分的那个
let obj =[
{id:11,name:'yang',value:83},
{id:4,name:'lin',value:43},
{id:11,name:'yang',value:100},
{id:9,name:'wang',value:89},
{id:4,name:'lin',value:49},
]
function sortObj (){
obj.sort((a,b)=>{
return (a.id - b.id )|| (b.value - a.value)
})
let newObj = []
let id = null
obj.forEach((item)=>{
if( item.id !== id){
newObj.push(item)
id = item.id
}
})
return newObj
}
思路是先对对象进行自定义排序,在进行一个去重。