从api响应javascript中求和每个属性值

时间:2017-07-25 20:32:31

标签: javascript

我想总结来自api响应的所有类似属性。

enter image description here

2 个答案:

答案 0 :(得分:4)

您的API正在响应一组对象。因此,您可以使用reduce迭代该数组,并对每个对象的points_earned属性的值求和。

getLocationOnScreen

DEMO

答案 1 :(得分:1)

你需要某种循环。一种解决方案是使用forEach,其中data变量是您从api响应中收到的数组。

var sum=0;
var data=[{points_earned:"2"},{points_earned:4}]
data.forEach(function(elem){
sum+=Number(elem.points_earned);
});
console.log(sum);


var sumUsingReduce=0;
var total = data.reduce(function(sum, value) {
  return sumUsingReduce += Number(value.points_earned)
}, 0);

console.log(sumUsingReduce);

var sum=0;
data.forEach(function(elem){
sum+=elem.points_earned;
});

其他人还建议使用 reduce

  

reduce()方法对累加器和每个都应用一个函数   数组中的元素(从左到右)将其缩小为单个元素   值。

示例:

var total = [0, 1, 2, 3].reduce(function(sum, value) {
  return sum + value;
}, 0);