Суммируйте значения одного и того же идентификатора в массиве JSON, используя angularjs - PullRequest
0 голосов
/ 11 июня 2019

У меня есть массив json следующим образом

var arrayVal = [{id:"1", sAge: 20, eAge:30},{id:"2", sAge: 30, eAge:50},{id:"2", sAge: 20, eAge:40},{id:"3", Aage: 20, eAge:50},{id:"5", sAge: 10, eAge:30}];

Я хочу взять разность sAge и eAge каждого идентификатора и суммировать окончательное значение, если существует несколько значений diff одного и того же идентификатора.Вывод должен быть следующим:

1 = 10,
2 = 40,
3 = 30,
5 = 20

1 Ответ

0 голосов
/ 11 июня 2019

Почти идентично вашему (?) предыдущему вопросу :

var array = [{id:"1", sAge: 20, eAge:30},{id:"2",sAge:30, eAge:50},{id:"2",sAge:20,eAge:40},{id:"3",sAge:20,eAge:50},{id:"5",sAge:10,eAge:30}];

const ages = array.reduce((a, {id, sAge, eAge}) => (a[id] = (a[id] || 0) + eAge - sAge, a), {});

console.log(ages);

Примечание: также исправлены опечатки в вашем объекте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...