我想添加公共(public)属性,即同一键的 total_quantity_sold 并将其附加到父索引作为总数。
这是我的产品数组
{ '900001':
[ anonymous {
id: '900001',
name: 'Pack1',
product: 2017-11-02T13:49:25.596Z,
total_quantity_sold: '1' },
anonymous {
id: '900001',
name: 'Pack1',
product: 2018-02-11T13:49:25.596Z,
total_quantity_sold: '4' },
anonymous {
id: '900001',
name: 'Pack1',
product: 2017-12-02T13:49:25.596Z,
total_quantity_sold: '1' } ],
'900002':
[ anonymous {
id: '900002',
name: 'Pack2',
product: 2018-01-02T13:49:25.596Z,
total_quantity_sold: '1' },
anonymous {
id: '900002',
name: 'Pack2',
product: 2017-11-02T13:49:25.596Z,
total_quantity_sold: '1' },
anonymous {
id: '900002',
name: 'Pack2',
product: 2018-02-11T13:49:25.596Z,
total_quantity_sold: '4' } ],}
我想对所有数量求和并将其附加到父键,以便我的最终数组看起来像这样。实际上我想要总计数以及每个日期的计数是填充图形所必需的。
{ '900001':
'total' : 6
[ {
name: 'Pack1',
product: 2017-11-02T13:49:25.596Z,
total_quantity_sold: '1' },
{
name: 'Pack1',
product: 2018-02-11T13:49:25.596Z,
total_quantity_sold: '4' },
{
name: 'Pack1',
product: 2017-12-02T13:49:25.596Z,
total_quantity_sold: '1' } ],
'900002':
'total' : 7
[ {
name: 'Pack2',
product: 2018-01-02T13:49:25.596Z,
total_quantity_sold: '2' },
{
name: 'Pack2',
product: 2017-11-02T13:49:25.596Z,
total_quantity_sold: '1' },
{
name: 'Pack2',
product: 2018-02-11T13:49:25.596Z,
total_quantity_sold: '4' } ],}
谢谢
最佳答案
没问题!您可以通过遍历哈希表中的每个条目并将其替换为您想要就地 的目标对象来实现。我们还可以使用一个简单的 reducer 来获取总和 sold quantities
!
ES7 方式
Object.entries(obj).forEach(a => {
const [key, children] = a
const total = children.reduce((p,c) => p+c.total_quantity_sold, 0)
obj[key] = {total, children}
})
关于javascript - 添加子对象的公共(public)属性并附加 Parent Key (Node.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48873927/