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的总和。
非常感谢您的帮助
答案 0 :(得分:3)
您可以使用Array#reduce
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 result = drinks.reduce((sum, e) => {
return sum + e.coffee;
}, 0);
console.log(result)
答案 1 :(得分:1)
您可以拥有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 orangeSellers = [];
var total = 0;
for (var type in drinks) {
if (drinks[type].hasOwnProperty("coffee")) {
orangeSellers.push({
price: drinks[type].coffee
});
total += drinks[type].coffee;
}
}
console.log(total);

答案 2 :(得分:1)
检查这个简单的解决方案: 如果你只想获得总和
,则无需推送到另一个对象答案 3 :(得分:0)
drinks.reduce(function (prev, next) {
return (prev + next.coffee);
}, 0);
答案 4 :(得分:0)
你走了:
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
答案 5 :(得分:0)
您可以这样使用:
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;
}
此代码的优点是您可以获得其他属性的总和