Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.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,数组1 我需要制作一个数组,对母公司占用的库存进行求和,理想情况下,新数组如下所示: 阵列2 { parent: 'parent 1', occupiedStock: 0, sku: 'api-create-product-test-sample-1', shop: 'Remax Online' } { parent: 'parent 2', occupiedStock: 1, sku: 'API-TEST-PRODUCT-DO-NOT-USE-1', shop:

数组1

我需要制作一个数组,对母公司占用的库存进行求和,理想情况下,新数组如下所示:

阵列2

{
  parent: 'parent 1',
  occupiedStock: 0,
  sku: 'api-create-product-test-sample-1',
  shop: 'Remax Online'
}
{
  parent: 'parent 2',
  occupiedStock: 1,
  sku: 'API-TEST-PRODUCT-DO-NOT-USE-1',
  shop: 'Zealer Tech'
}
{
  parent: 'parent 2',
  occupiedStock: 2,
  sku: 'api-create-product-test-sample-5',
  shop: 'Remax Online'
}
{
  parent: 'parent 1',
  occupiedStock: 0,
  sku: '1591630793-1609218546440-0',
  shop: 'Remax Online'
}
{
  parent: 'parent 2',
  occupiedStock: 0,
  sku: 'api-create-product-test-sample-6',
  shop: 'Remax Online'
}
{
  parent: 'parent 1',
  occupiedStock: 1,
  sku: 'api-create-product-test-sample-8',
  shop: 'Remax Online'
}
{
  parent: 'parent 1',
  occupiedStock: 0,
  sku: 'api-create-product-test-sample-9',
  shop: 'Remax Online'
}
{
  parent: 'parent 2',
  occupiedStock: 2,
  sku: 'api-create-product-test-sample-7',
  shop: 'Remax Online'
}
什么是最好的方法来合并占用的父母股票

我想我的帖子大部分都是代码,我无法继续发布这个问题。我希望这就足够了:)

你可以使用这个方法。遍历数组,将父项设为键,并基于该键求和
occupiedStock

const数据=[
{
父项:“父项1”,
占用股票:0,
sku:'api-create-product-test-sample-1',
商店:“Remax在线”,
},
{
父项:“父项2”,
占用库存:1,
sku:'API-TEST-PRODUCT-DO-NOT-USE-1',
商店:“热情科技”,
},
{
父项:“父项2”,
占用股票:2,
sku:'api-create-product-test-sample-5',
商店:“Remax在线”,
},
{
父项:“父项1”,
占用股票:0,
sku:'1591630793-1609218546440-0',
商店:“Remax在线”,
},
{
父项:“父项2”,
占用股票:0,
sku:'api-create-product-test-sample-6',
商店:“Remax在线”,
},
{
父项:“父项1”,
占用库存:1,
sku:'api-create-product-test-sample-8',
商店:“Remax在线”,
},
{
父项:“父项1”,
占用股票:0,
sku:'api-create-product-test-sample-9',
商店:“Remax在线”,
},
{
父项:“父项2”,
占用股票:2,
sku:'api-create-product-test-sample-7',
商店:“Remax在线”,
},
];
const ret=Object.values(
数据减少((上一个,c)=>{
常数p=上一个;
const key=c.parent;
p[key]=p[key]?{parent:c.parent,occupiedStock:0};
p[key].occupiedStock+=c.occupiedStock;
返回p;
}, {})
);
控制台日志(ret)您可以使用该方法。遍历数组,将父项设为键,并基于该键求和
occupiedStock

const数据=[
{
父项:“父项1”,
占用股票:0,
sku:'api-create-product-test-sample-1',
商店:“Remax在线”,
},
{
父项:“父项2”,
占用库存:1,
sku:'API-TEST-PRODUCT-DO-NOT-USE-1',
商店:“热情科技”,
},
{
父项:“父项2”,
占用股票:2,
sku:'api-create-product-test-sample-5',
商店:“Remax在线”,
},
{
父项:“父项1”,
占用股票:0,
sku:'1591630793-1609218546440-0',
商店:“Remax在线”,
},
{
父项:“父项2”,
占用股票:0,
sku:'api-create-product-test-sample-6',
商店:“Remax在线”,
},
{
父项:“父项1”,
占用库存:1,
sku:'api-create-product-test-sample-8',
商店:“Remax在线”,
},
{
父项:“父项1”,
占用股票:0,
sku:'api-create-product-test-sample-9',
商店:“Remax在线”,
},
{
父项:“父项2”,
占用股票:2,
sku:'api-create-product-test-sample-7',
商店:“Remax在线”,
},
];
const ret=Object.values(
数据减少((上一个,c)=>{
常数p=上一个;
const key=c.parent;
p[key]=p[key]?{parent:c.parent,occupiedStock:0};
p[key].occupiedStock+=c.occupiedStock;
返回p;
}, {})
);

控制台日志(ret)我的帖子我猜大部分都是代码-你没有发布一行代码,你是在试图复制该数组并从其中的每个对象中删除
sku
shop
字段吗?@Velrinback,是的。获取每个父项的占用库存总和我的帖子我猜大部分都是代码-你没有发布一行代码,你是在试图复制该数组并从其中的每个对象中删除
sku
shop
字段吗?@VelrinBlack,是的。得到每个父代的占用存量之和
{
  parent: 'parent 1',
  totalOccupiedStock: 1,
}
{
  parent: 'parent 2',
  totalOccupiedStock: 5,
}