[英]Filter list of Objects according to the month?
我正在使用图表,所以每当我选择根据月份显示数据时,我都必须显示每个月的数据,我有诸如 totalAmount、paidAmount 之类的字段,我应该汇总该月的数据。
const myArray = [
{
"id": 9,
"userId": null,
"invoiceNumber": "biscuitInvoice",
"billedBy": 1,
"billedTo": 2,
"addGst": false,
"invoiceDate": "2021-05-08T12:05:00",
"dueDate": "2021-05-21T12:03:00",
"totalAmount": 11.8,
"discountSymbol": null,
"discountPercent": null,
"subTotal": null,
"notes": null,
"signature": null,
"reachMail": "",
"reachPhoneNo": null,
"businessLogo": null,
"clientName": "Checking Business",
"businessName": "Chocolate Business",
"paymentAmount": 140,
"status": "Created",
"igst": 1.8,
"cgst": 0,
"amount": null,
"sgst": 0,
"businessClient": null,
"businessProfile": null,
"invoiceAttachments": [],
"invoiceItems": [],
"invoiceTerms": []
},
{
"id": 8,
"userId": null,
"invoiceNumber": "invq32",
"billedBy": 1,
"billedTo": 3,
"addGst": false,
"invoiceDate": "2021-04-04T10:10:22",
"dueDate": "2021-05-13T10:10:00",
"totalAmount": 354,
"discountSymbol": null,
"discountPercent": null,
"subTotal": null,
"notes": null,
"signature": null,
"reachMail": "",
"reachPhoneNo": null,
"businessLogo": null,
"clientName": "Checking",
"businessName": "Chocolate Business",
"paymentAmount": 120,
"status": "Paid",
"igst": 54,
"cgst": 0,
"amount": null,
"sgst": 0,
"businessClient": null,
"businessProfile": null,
"invoiceAttachments": [],
"invoiceItems": [],
"invoiceTerms": []
}
]
在那个列表中,我有 invoiceDate,一个 object 是 4 月,另一个是 5 月。
我该怎么做,有什么帮助吗?
这是您需要的 function:
function getDesiredMonth(data, month) {
return data.filter((item) => item.invoiceDate.split("-")[1] === month)
}
例如,您可以这样调用它来获取 5 月的发票: getDesiredMonth(myArray, '05')
让我知道这是否适合你:)
回答是因为我没有足够的代表发表评论。
我想您可以按照以下步骤操作:
total_sgst += current_obj.sgst
)function filterDataByMonth(data, month){
return data.filter(i => new Date(i.invoiceDate).getMonth() + 1 === month);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.