рассчитать общее значение в переменной из массива json - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть ответ json, который возвращает массив.Из массива я хочу вычислить сумму переменной в массиве json.вот фрагмент

    $rootScope.getData = function () {
                $http({ 
                method: 'GET',
    ....
    console.log(JSON.stringify(res.data.data));

    returns

    [{
    "name":"John",
    "age":30
    }
{
    "name":"Doe",
    "age":30
    }]

как вычислить общий возраст в массиве, чтобы получить 60 - сложная задача

Ответы [ 5 ]

0 голосов
/ 23 ноября 2018

var data = [{
    "name":"John",
    "age":30
    },
    {
    "name":"Doe",
    "age":30
    },
    {
    "name":"Doe",
    "age":10
    }
    ]
    
    
    var totalAge = data.map((person)=> person.age)// get the age values
                        .reduce((sum, current)=> sum+ current) // sum the age values
    
    console.log(totalAge)
    
    
0 голосов
/ 23 ноября 2018
let sum = 0;
res.data.data.forEach((element) => {
    sum += element.age;
});
// done!
0 голосов
/ 23 ноября 2018
   $scope.data =   [{
        "name":"John",
        "age":30
        },
    {
        "name":"Doe",
        "age":30
        }]

  $scope.sum = 0;
angular.forEach($scope.data, function(value, key){
  $scope.sum += value.age
})

Плункер: http://plnkr.co/edit/tpnsgeAQIdXP4aK8ekEq?p=preview

0 голосов
/ 23 ноября 2018

Попробуйте цикл for..of:

let arr = [{
    "name": "John",
    "age": 30
  },
  {
    "name": "Doe",
    "age": 30
  }
];

let sum = 0;


for (let el of arr) {
  sum += el.age;
}

console.log(sum);

for..of выполняет итерации по каждому элементу массива (или любому другому итерируемому).Затем вы можете легко подвести итог (здесь он хранится в переменной sum).

0 голосов
/ 23 ноября 2018

Используйте сгиб / уменьшите

res.data.data.reduce(function (total, person) {
  return total + person.age;
}, 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...