gpt4 book ai didi

javascript - 如果满足两个条件,则 Javascript 值的总和

转载 作者:数据小太阳 更新时间:2023-10-29 06:04:06 25 4
gpt4 key购买 nike

<分区>

如果 CategoryId 相同,下面的代码会添加金额,并根据 CategoryId 创建一个新的行项目

self.OriginalLineItems = [
{ CategoryId: 'Cat1', Amount: 15, Type: 'TypeA' },
{ CategoryId: 'Cat1', Amount: 30, Type: 'TypeA' },
{ CategoryId: 'Cat1', Amount: 20, Type: 'TypeB' },
{ CategoryId: 'Cat2', Amount: 10, Type: 'TypeA' },
{ CategoryId: 'Cat2', Amount: 5, Type: 'TypeB' }]

self.newLineItems = [];

self.OriginalLineItems.forEach(function (o) {
if (!this[o.CategoryId]) {
this[o.CategoryId] = { CategoryId: o.CategoryId, Amount: 0, Type: o.Type };
self.newLineItems.push(this[o.CategoryId]);
}
this[o.CategoryId].Amount += o.Amount;
}, Object.create(null));

这将导致以下数组:

self.newLineItems = [{ CategoryId: 'Cat1', Amount: 65, Type: 'TypeA' }, 
{ CategoryId: 'Cat2', Amount: 15, Type: 'TypeA' }]

但是我想添加一个新的条件是类型,我如何得到下面的结果?

self.newLineItems = [{ CategoryId: 'Cat1', Amount: 45, Type: 'TypeA' }, 
{ CategoryId: 'Cat1', Amount: 20, Type: 'TypeB' },
{ CategoryId: 'Cat2', Amount: 10, Type: 'TypeA' },
{ CategoryId: 'Cat2', Amount: 5, Type: 'TypeB' }]

我找不到有关链接问题的解决方案。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com