Javascript 添加两个对象以获得值的总和

Javascript 添加两个对象以获得值的总和,javascript,Javascript,嘿,伙计们,我正试图从两个不同的对象得到两个值的和,但我遇到了一个问题。 这是我的当前代码: var drinks = [ { "person": "Mdu", "coffee": 5, "tea": 0, "water": 3 }, { "person": "Brenda", "coffee": 1, "tea": 3, "water": 1 },

嘿,伙计们,我正试图从两个不同的对象得到两个值的和,但我遇到了一个问题。 这是我的当前代码:

  var drinks = [
   {
       "person": "Mdu",
       "coffee": 5,
       "tea": 0,
       "water": 3
   },
   {
       "person": "Brenda",
       "coffee": 1,
       "tea": 3,
       "water": 1
   },
   {
       "person": "Lesego",
       "coffee": 0,
       "tea": 4,
       "water": 2
   }
    ];


var orangeSellers = [];

for (var type in drinks) {
    if (drinks[type].hasOwnProperty("coffee")) {
        orangeSellers.push({
            price: drinks[type].coffee
        });
    }
}
console.log(orangeSellers[1]);
当我加两杯咖啡时,我想得到6的总和。
非常感谢您的帮助

您可以有一个
总计
变量,如下所示:

var=[
{
“人”:“Mdu”,
“咖啡”:5,
“茶”:0,
“水”:3
},
{
“人”:“布伦达”,
“咖啡”:1,
"茶":三,,
“水”:1
},
{
“人”:“Lesego”,
“咖啡”:0,
"茶":四,,
“水”:2
}
];
var orangeSellers=[];
var合计=0;
用于(饮料中的var类型){
if(饮料[type].hasOwnProperty(“咖啡”)){
橘子籽({
价格:饮料[类型]。咖啡
});
合计+=饮料[类型]。咖啡;
}
}

控制台日志(总计)检查此简单解决方案: 如果您只想得到总和,则无需推送到另一个对象

您可以使用

var饮料=[{“人”:“Mdu”,“咖啡”:5,“茶”:0,“水”:3},{“人”:“布伦达”,“咖啡”:1,“茶”:3,“水”:1},{“人”:“莱赛戈”,“咖啡”:0,“茶”:4,“水”:2}];
var结果=饮料。减少((总和,e)=>{
退货金额+e.coffee;
}, 0);
console.log(结果)
给您:

var drinks = [{
  "person": "Mdu",
  "coffee": 5,
  "tea": 0,
  "water": 3
}, {
  "person": "Brenda",
  "coffee": 1,
  "tea": 3,
  "water": 1
}, {
  "person": "Lesego",
  "coffee": 0,
  "tea": 4,
  "water": 2
}];


var orangeSellers = [];

for (var type in drinks) {
  if (drinks[type].hasOwnProperty("coffee")) {
    orangeSellers.push(drinks[type].coffee);
  }
}
console.log(orangeSellers); // [5, 1, 0]
var total = orangeSellers.reduce(function(carry, new_value) {
  return carry + new_value;
});
console.log(total); // 6
演示:

您可以这样使用:

var drinks = [{
   "person": "Mdu",
   "coffee": 5,
   "tea": 0,
   "water": 3
 }, {
   "person": "Brenda",
   "coffee": 1,
   "tea": 3,
   "water": 1
 }, {
   "person": "Lesego",
   "coffee": 0,
   "tea": 4,
   "water": 2
 }];
 var total = getSum("coffee")

 function getSum(obj_pro){
  var total = 0;
    for (var type in drinks) {
    if (drinks[type].hasOwnProperty(obj_pro)) {
        total += parseInt(drinks[type][obj_pro]) 
    }
  }
  return total;
 }
此代码的优点是,您还可以获得其他属性的总和

var drinks = [{
   "person": "Mdu",
   "coffee": 5,
   "tea": 0,
   "water": 3
 }, {
   "person": "Brenda",
   "coffee": 1,
   "tea": 3,
   "water": 1
 }, {
   "person": "Lesego",
   "coffee": 0,
   "tea": 4,
   "water": 2
 }];
 var total = getSum("coffee")

 function getSum(obj_pro){
  var total = 0;
    for (var type in drinks) {
    if (drinks[type].hasOwnProperty(obj_pro)) {
        total += parseInt(drinks[type][obj_pro]) 
    }
  }
  return total;
 }