Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.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_Node.js_Arrays - Fatal编程技术网

Javascript 按类型和总价获取的对象数组

Javascript 按类型和总价获取的对象数组,javascript,node.js,arrays,Javascript,Node.js,Arrays,我有一个对象数组,它由包含类型、数量、名称和其他元数据的对象组成 它看起来像: [ { "id":"31362", "quantity":"7", "type":"wood", "metadata":{ "name":"Wood Pack&quo

我有一个对象数组,它由包含类型、数量、名称和其他元数据的对象组成

它看起来像:

[
    {
       "id":"31362",
       "quantity":"7",
       "type":"wood",
       "metadata":{
          "name":"Wood Pack"
       }
    },
    {
       "id":"31361",
       "quantity":"13",
       "type":"sand",
       "metadata":{
          "name":"Sand Pack"
       }
    },
    {
       "id":"29161",
       "quantity":"7",
       "type":"sand",
       "metadata":{
          "name":"Sand Pack"
       }
    },
    {
       "id":"31398",
       "quantity":"50000",
       "type":"energy",
       "metadata":{
          "name":"Energy Pack"
       }
    },
    {
       "id":"31363",
       "quantity":"50000",
       "type":"energy",
       "metadata":{
          "name":"Energy Pack"
       }
    },
    {
       "id":"31368",
       "quantity":"50000",
       "type":"energy",
       "metadata":{
          "name":"Energy Pack"
       }
    },
    {
       "id":"30755",
       "quantity":"1",
       "type":"energy",
       "metadata":{
          "name":"Energy Pack"
       }
    }
 ]
我试图实现的是,得到另一个数组,该数组为下面的每个
类型
属性和数量之和都有一个对象

e、 g


试试这个for循环过程

a=[
{
“id”:“31362”,
“数量”:“7”,
“类型”:“木材”,
“元数据”:{
“名称”:“木质包装”
}
},
{
“id”:“31361”,
“数量”:“13”,
“类型”:“砂”,
“元数据”:{
“名称”:“沙包”
}
},
{
“id”:“29161”,
“数量”:“7”,
“类型”:“砂”,
“元数据”:{
“名称”:“沙包”
}
},
{
“id”:“31398”,
“数量”:“50000”,
“类型”:“能量”,
“元数据”:{
“名称”:“能量包”
}
},
{
“id”:“31363”,
“数量”:“50000”,
“类型”:“能量”,
“元数据”:{
“名称”:“能量包”
}
},
{
“id”:“31368”,
“数量”:“50000”,
“类型”:“能量”,
“元数据”:{
“名称”:“能量包”
}
},
{
“id”:“30755”,
“数量”:“1”,
“类型”:“能量”,
“元数据”:{
“名称”:“能量包”
}
}
]
设b={};
a、 forEach((v)=>{b[v.type]=b[v.type]?b[v.type]+parseInt(v.quantity):parseInt(v.quantity)});
让new_arr=[];
for(对象项(b)的常量[键,值]){
let temp={type:key,quantity:value}
新的预推(温度);
}
控制台日志(新建)
    [
   {
      type: 'wood',
      quantity: 7
   },
   {
      type: 'sand',
      quantity: 20
   }
   ....
]