У меня есть массив данных объекта из моей базы данных, вот мои данные:
const data = [
{
'partnerId': 1,
'partnerName': 'Company1',
'timeInt': 0,
'duration': '0 days',
'statusRanking': 'equal',
'totalProject': 2
},
{
'partnerId': 2,
'partnerName': 'Company2',
'timeInt': 0,
'duration': '0 days',
'statusRanking': 'equal',
'totalProject': 1
},
{
'partnerId': 2,
'partnerName': 'Company2',
'timeInt': 2,
'duration': '2 days',
'statusRanking': 'equal',
'totalProject': 2
},
{
'partnerId': 1,
'partnerName': 'Company1',
'timeInt': 3,
'duration': '3 days',
'statusRanking': 'equal',
'totalProject': 5
},
{
'partnerId': 2,
'partnerName': 'Company2',
'timeInt': 5,
'duration': '5 days',
'statusRanking': 'equal',
'totalProject': 2
},
{
'partnerId': 1,
'partnerName': 'Company1',
'timeInt': 18,
'duration': '18 days',
'statusRanking': 'equal',
'totalProject': 6
}
];
Как я могу их уникально?
Ожидаемый результат:
const data = [
{
'partnerId': 1,
'partnerName': 'Company1',
'timeInt': 21,
'duration': '21 days',
'statusRanking': 'equal',
'totalProject': 13
},
{
'partnerId': 2,
'partnerName': 'Company2',
'timeInt': 7,
'duration': '7 days',
'statusRanking': 'equal',
'totalProject': 5
}
];
Я уже пробовал это:
let a = data.reduce((acc, x) => acc.concat(acc.find(y => y.partnerId === x.partnerId) ? [] : [x]), []);
Но это только для уникального, а не для сумм timeInt и totalProject key.
Есть решение? Спасибо.