У меня есть массив объектов массива в объекте. Я хотел бы удалить дубликаты объектов внутри массива объектов массива объектов.
var arr = {
"departsObj": {
"departments": [
{
"department": [
{
"groupID": "21",
"groupName": "group21",
"requestDate": "2020-01-24",
},
{
"groupID": "28",
"groupName": "group28",
"requestDate": "2020-01-24",
}
]
},
{
"department": [
{
"groupID": "28",
"groupName": "group28",
"requestDate": "2020-01-24",
},
{
"groupID": "20",
"groupName": "group20",
"requestDate": "2020-01-24",
},
{
"groupID": "30",
"groupName": "group30",
"requestDate": "2020-01-24",
}
]
}
]
}
}
Мне нужно вернуть массив:
{
"departsObj": {
"departments": [
{
"department": [
{
"groupID": "21",
"groupName": "group21",
"requestDate": "2020-01-24",
},
{
"groupID": "28",
"groupName": "group28",
"requestDate": "2020-01-24",
}
]
},
{
"department": [
{
"groupID": "20",
"groupName": "group20",
"requestDate": "2020-01-24",
},
{
"groupID": "30",
"groupName": "group30",
"requestDate": "2020-01-24",
}
]
}
]
}
}
Я пытался:
const arr = departsObj.departments;
var result = arr.reduce((unique, o) => {
if(!unique.some(obj => obj.department === o.department)) {
unique.push(o);
}
return unique;
},[]);
return result;
Но я все еще возвращаю дубликаты объектов. Я пытаюсь вернуть значение из массива объектов из объектов массива.
Буду признателен за любую помощь.
Заранее спасибо.