Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取Javascript中对象的子对象值之和?_Javascript_Json_React Native_Object_Ecmascript 6 - Fatal编程技术网

如何获取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)
首先将其转换为数组。