我是新手
我是Lodash的新手,试图解决这个问题,但可以找到一种很好的方法。
我有一系列订单和一系列线,每个订单中都有一张票。
数据的结构如下:
[{
"id": 201,
"order": "Buyer 1",
"lines": ▿[
▿{
"id": 1,
"ticket": ▿{
"id": 151,
"event": ▿{
"id": 31,
"name": "Event 1"
},
"name": "Event 1 Ticket 1",
"price": 39,
"minimum": 1,
"maximum": 5
},
"quantity": 1
},
▿{
"id": 2,
"ticket": {
"id": 152,
"event": {
"id": 31,
"name": "Event 1"
},
"name": "Event 1 Ticket 2",
"price": 60,
"minimum": 2,
"maximum": 4
},
"quantity": 5
},
▿{
"id": 3,
"ticket": {
"id": 153,
"event": {
"id": 33,
"name": "Event 1"
},
"name": "Event 3 Ticket 2",
"price": 60,
"minimum": 2,
"maximum": 4
},
"quantity": 5
}
],
"created_at": "2016-12-22T17:58:27+0000"
},
...]
我需要按事件名称对所有订单进行分组,并且需要下一个结构:
[{
"event_id": 31,
"event_name":"Event 1",
"total_tickets": 6,
"total_sold": 339
"orders": [
{
"id": 201,
"order": "Buyer 1"
},
....
]},
{
"event_id": 33,
"event_name":"Event 3",
"total_tickets": 5,
"total_sold": 300
"orders":[
{
"id": 201,
"order": "Buyer 1"
}
]},
....
]
" total_tickets" - >事件的订单票(数量)
的总和" total_sold" - >事件的订单总和'(价格*数量)
任何帮助都会非常有用
看一下_.reduce
(甚至Vainilla JS Array.reduce
)
作为一个友好的建议,请尝试想象和素描 - 在您的脑海中或纸上 - 使用该数据确切需要做什么,然后开始寻找可以做到的工具,而不是相反。