У меня есть массив json с Id и возрастом следующим образом
var arrayVal = [{id:"1", age: 20},{id:"2", age: 30},{id:"2", age: "20"},{id:"3", age: 20},{id:"5", age: 10}];
Я хочу получить сумму возраста, принадлежащую тому же идентификатору, которая будет выглядеть следующим образом
1 = 20
2 = 50
3 = 20
5 = 10
Пожалуйста, найдите ниже код
$scope.TestFunc = function()
{
var tot = 0;
var arrayVal = [{id:"1", age: 20},{id:"2", age: 30},{id:"2", age: "20"},{id:"3", age: 20},{id:"5", age: 10}];
for(var i=0; i <arrayVal.length; i++ )
{
for(var j=1; j<arrayVal.length - i; j++ )
{
if(arrayVal[i].id == arrayVal[j].id)
{
tot = arrayVal[i].age.valueOf() + arrayVal[j].age.valueOf();
}
else{
tot = tot + arrayVal[i].age;
}
}
}
console.log("-----total----"+tot);
}
Я не получаю ожидаемый результат. консоль отображает выходные данные как 202020. Что пошло не так в приведенном выше коде?