Javascript:添加每个数组中所有对象的值

时间:2018-04-12 20:00:21

标签: javascript arrays object

obj orders包含每个都包含值的项目。

订单结构示例:

   Array [0: Object { item: "shirt", status: "draft", "value":1 }] 
   Array [0: Object { item: "shirt", status: "failed", "value":0} 1: Object { item: "shirt" , status: "draft" ,"value":1}]

每个阵列中可以有多个对象,我不会知道这个。 如何在每个数组中添加所有对象的值?然后我将除以每个数组的长度。

我试过了

 var sum = 0;
  for(var i=0; i< order.length; i++) {
      sum += order.value + order.value;
  }

1 个答案:

答案 0 :(得分:0)

var a1 = [];
var a2 = [{value: 1}];
var a3 = [{value: 1}, {value: 1}, {value: 1}];

function f(a) {
  if (a && a.length !== 0) {
    return a.reduce(function (c, v) { return c + v.value || 0; }, 0) / a.length;
  }
  
  return 0;
}

console.log(f());
console.log(f(a1));
console.log(f(a2));
console.log(f(a3));