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;
}