Ваш ответ на мой вопрос о том, как выглядят данные и как их сгруппировать, не имеет никакого смысла, также вы не ответили Джо just showed the json data
и не сказали ему , откуда , откуда приходят данные вместо что это.
Итак, я предполагаю, что ваша группа по имени и учетной записи игнорируется. Вы можете сгруппировать их следующим образом:
const data = {
results: {
StaffCount: [
{
Name: 'a',
Accounts: 2,
},
{
Name: 'b',
Accounts: 20,
},
],
RepProviderAccount: [
{
Name: 'a',
Accnt: 3,
},
],
ProviderAccount: [
{
Name: 'a',
Account: 1,
},
],
},
};
const grouped = [
...data.results.StaffCount,
...data.results.RepProviderAccount,
...data.results.ProviderAccount,
].reduce((result, item) => {
const {
Name,
Account = 0,
Accounts = 0,
Accnt = 0,
} = item;
const existing = result.get(item.Name) || {
Name,
Account: 0,
Accounts: 0,
Accnt: 0,
};
existing.Account += Account;
existing.Accounts += Accounts;
existing.Accnt += Accnt;
return result.set(Name, existing);
}, new Map());
console.log([...grouped.values()]);
Если это не сработает для вас, пожалуйста, обновите свой вопрос и укажите код, как в моем ответе, с ожидаемым вводом и выводом? Вы можете ответить на этот ответ, и я снова посмотрю на ваш вопрос.
На самом деле это может быть проблемой xy, вы выбираете 3 источника данных, а затем пытаетесь сгруппировать и суммировать их, но, возможно, вы можете просто получите 1 источник данных и попробуйте Salesforce сгруппировать и суммировать их в запросе. Я не знаю достаточно о salesforce, но, возможно, вы можете задать еще один вопрос, пометив его с помощью soql, если возможно просто сгруппировать и суммировать данные.