let arr = [{ "name": "www", "time": 110 },
{ "name": "aaa", "time": 180 },
{ "name": "aaa", "time": 220 },
{ "name": "ddd", "time": 30 },
{ "name": "aaa", "time": 190 },
{ "name": "www", "time": 80 },
{ "name": "www", "time": 90 },
{ "name": "aaa", "time": 220 },
{ "name": "bbb", "time": 60 },
]
let res = arr.reduce((a, c) => {
let item = a.find(v => v.name === c.name)
if (item) {
item.count++;
item.time = Math.max(item.time, c.time)
} else {
a.push({ ...c, count: 1 })
}
return a
}, [])
console.log(res);