我需要根据created_at日期获得item_subtotal_amount的总和。
const test = {
"id": 1414,
"integration_id": null,
"business_upstream_identifier": null,
"alternate_business_id": null,
"status": {
"type": "ordered",
"name": "Ordered"
},
"payment_term": null,
"payment_status_id": null,
"payment_status": null,
"payment_status_note": null,
"item_subtotal_amount": 3795,
"rounding_amount": 0,
"total_amount": 3795,
"created_at": "2022-12-19T23:02:25+00:00",}
这里有一个类似的对象列表,但创建日期不同。2我需要得到一个特定日期的item_subtotal_amount的总和。3(created_at)
我就是这么试的。
let newTotal = 0
test?.forEach((stat) => {
newTotal += stat.item_subtotal_amount;
});
但是这个方法并没有像预期的那样工作,因为这是一个我无法循环的对象。有没有其他合适的方法我可以用来实现我的目标?
2条答案
按热度按时间uhry853o1#
下面的代码片段解决了你的问题。我假设你只想添加一个测试的小计,如果它匹配一个给定的日期,而不管它是在所说的日期的什么时间创建的。
sy5wg1nm2#
这个方法对我计算总数很有效。
reduce()-从左到右对每个值执行给定的函数。
reduce()-不改变原始数组。
方法的作用是:返回给定对象自己的可枚举字符串键属性值的数组。