如何获取Javascript中对象的子对象值之和?
这是我的目标:如何获取Javascript中对象的子对象值之和?,javascript,json,react-native,object,ecmascript-6,Javascript,Json,React Native,Object,Ecmascript 6,这是我的目标: var obj = { "idtransact1": { "amount": 3000, }, "idtransact2": { "amount": 3000, } } 我正试图得到所有金额的总和。 我试图改编这个例子,但因为它不是相同的数据结构,所以我有点迷茫 var array = [{ "adults": 2, "children": 3 }, { "adults": 2, "children": 1 }];
var obj = {
"idtransact1": {
"amount": 3000,
},
"idtransact2": {
"amount": 3000,
}
}
我正试图得到所有金额的总和。
我试图改编这个例子,但因为它不是相同的数据结构,所以我有点迷茫
var array = [{
"adults": 2,
"children": 3
}, {
"adults": 2,
"children": 1
}];
var val = array.reduce(function(previousValue, currentValue) {
return {
adults: previousValue.adults + currentValue.adults,
children: previousValue.children + currentValue.children
}
});
console.log(val);
任何帮助都将不胜感激。您可以使用
Object.values()
和reduce()
来获得总和:
const数据={
“IDTransact 1”:{“金额”:3000},
“IDTransact 2”:{“金额”:3000}
};
const result=Object.values(data).reduce((r,{amount})=>r+amount,0);
控制台日志(结果)代码>使用forEach
循环
var obj={
“ID1”:{
“金额”:3000,
},
“ID2”:{
“金额”:3000,
}
}
var总和=0;
Object.values(obj.forEach)((x)=>sum+=x.amount)
log(sum)
for-in循环是您在对象中查找值的朋友
var obj = {
"idtransact1": {"amount": 3000},
"idtransact2": {"amount": 3000}};
var sumAmount = 0;
for(var char in obj){
sumAmount += obj[char].amount;
}
console.log(sumAmount);
对于第二个示例,For in循环与对象数组的工作方式相同
var array = [
{"adults": 2,"children": 3},
{"adults": 2,"children": 1}];
var sumAdults = 0;
var sumChildren = 0;
for(var char in array){
sumAdults += array[char].adults;
sumChildren += array[char].children;
}
console.log(sumAdults + " " + sumChildren);
如果可以以相同的方式查找对象中的数据和对象数组中的数据,则不需要记住。享受
Array [
Object {
"product": Object {
"cat_id": "20",
"cat_name": "Pizza",
"detail": "Pizza sauce, Green pepper & mozarella cheese",
"discount_price": "",
"has_extra": "0",
"has_variation": "1",
"id": "46",
"image": "chicken-tikka-piza-recipe-main-photo.jpg",
"name": "Chicken Fajita",
"prep_time": "30",
"price": "310",
"status": "1",
"time_stamp": "2021-01-02 19:43:41",
"ven_id": "6",
},
"quantity": 1,
},
Object {
"product": Object {
"cat_id": "20",
"cat_name": "Pizza",
"detail": "Pizza Sauce, Tomato Green Paper, Olives Mashrooms And Chipotle Sauce with extra Creamy mayoneese",
"discount_price": "",
"has_extra": "0",
"has_variation": "0",
"id": "45",
"image": "chicken-tikka-piza-recipe-main-photo.jpg",
"name": "Chicken Tikka",
"prep_time": "15",
"price": "310",
"status": "1",
"time_stamp": "2021-01-02 19:41:56",
"ven_id": "6",
},
"quantity": 3,
},
]
在数量不相同的情况下,如何计算其总价我还想计算总价关键是使用Object.values(obj)
首先将其转换为数组。