I have an JSON of data, but I need to remove the duplicates.
The only constraint is If there are duplicated messages, we would like
them to be deduplicated if the uuid
and content
are the same.
Currently this is my attempt, but I'm stuck:
const result = test['messages'].reduce((accu,cur)=>{
if(! accu[curr.uuid] && accu[curr.content]){
return accu.push(cur)
}
},[])
Here is the test example:
let test= {
"messages": [
{
"sentAt": "2012-11-13T17:29:37.003Z",
"uuid": "435453",
"content": "1",
"senderUuid": "2"
},
{
"sentAt": "2015-05-22T13:55:10.542Z",
"uuid": "4354353",
"content": "2",
"senderUuid": "2"
},
{
"sentAt": "2012-11-20T01:31:33.751Z",
"uuid": "4354353",
"content": "3",
"senderUuid": "1"
},
{
"sentAt": "2016-02-17T10:13:03.115Z",
"uuid": "435453",
"content": "4",
"senderUuid": "2"
},
{
"sentAt": "2015-05-22T13:55:10.542Z",
"uuid": "4354353",
"content": "2",
"senderUuid": "1"
},
{
"sentAt": "2018-07-05T10:19:07.713Z",
"uuid": "4354353",
"content": "6",
"senderUuid": "2"
},
{
"sentAt": "2016-11-09T03:24:54.612Z",
"uuid": "4354353",
"content": "7",
"senderUuid": "1"
},
{
"sentAt": "2013-06-21T16:39:08.630Z",
"uuid": "43543353",
"content": "8",
"senderUuid": "1"
},
{
"sentAt": "2013-08-24T01:55:38.167Z",
"uuid": "43521314353",
"content": "9",
"senderUuid": "1"
},
{
"sentAt": "2012-11-05T11:37:00.472Z",
"uuid": "43532134353",
"content": "10",
"senderUuid": "2"
},
{
"sentAt": "2017-09-26T17:01:10.949Z",
"uuid": "43321315433",
"content": "11",
"senderUuid": "2"
},
{
"sentAt": "2012-12-02T13:55:30.626Z",
"uuid": "43543321353",
"content": "12",
"senderUuid": "1"
},
{
"sentAt": "2015-05-03T08:54:02.530Z",
"uuid": "43542233",
"content": "13",
"senderUuid": "2"
},
{
"sentAt": "2013-08-24T01:55:38.167Z",
"uuid": "43521314353",
"content": "9",
"senderUuid": "1"
},
{
"sentAt": "2012-02-19T09:42:11.913Z",
"uuid": "435353",
"content": "15",
"senderUuid": "2"
},
{
"sentAt": "2018-07-06T20:31:01.649Z",
"uuid": "4354543353",
"content": "16",
"senderUuid": "2"
},
{
"sentAt": "2017-09-25T04:35:18.647Z",
"uuid": "4354353",
"content": "17",
"senderUuid": "1"
},
{
"sentAt": "2012-12-17T15:08:37.988Z",
"uuid": "43545433353",
"content": "18",
"senderUuid": "1"
},
{
"sentAt": "2016-02-03T05:20:52.506Z",
"uuid": "435454www35353",
"content": "19",
"senderUuid": "2"
},
{
"sentAt": "2018-04-07T06:30:38.178Z",
"uuid": "43545435353",
"content": "20",
"senderUuid": "2"
}
]
}