Hi guys I have this scenario:
const data = [
{
"name": "Hebert",
"timestamp": 1640371815, // 15:50:15
},{
"name": "Brien",
"timestamp": 1640373855, // 16:24:15
},{
"name": "Hebert",
"timestamp": 1640363601 // 13:33:21
},{
"name": "Mary",
"timestamp": 1640356701 // 11:38:21
},{
"name": "Mary",
"timestamp": 1640356521 // 11:35:21
},{
"name": "Mary",
"timestamp": 1640356401 // 11:33:21
}
];
I need to get lasted one from duplicates by timestamp:
// expected result
[
{
"name": "Hebert",
"timestamp": 1640371815 // 15:50:15 newest one
},{
"name": "Brien",
"timestamp": 1640373855 // 16:24:15 unique
},{
"name": "Mary",
"timestamp": 1640356701 // 11:38:21 newest
}
];
I try this:
data.sort((a,b) => a.name.localeCompare(b.name))
.filter((chat, index, self) => self.findIndex( c => c.name == chat.name ) == index )
output duplicated removed but no considering newest timestamp between each duplicates