Есть массив:
[{
name_product: "Футболка",
variant: "M",
product_id: "466",
order_id: "84957",
date: "2023-06-13",
count: 1,
price: 1990,
total: 1990
},
{
name_product: "Футболка 2",
variant: "XL",
product_id: "468",
order_id: "84957",
date: "2023-06-13",
count: 1,
price: 1990,
total: 1990
},
{
name_product: "Штаны",
variant: "",
product_id: "158",
order_id: "84994",
date: "2023-06-13",
count: 1,
price: 400,
total: 400
},
{
name_product: "Кофта",
variant: "M",
product_id: "469",
order_id: "84992",
date: "2023-06-14",
count: 1,
price: 1990,
total: 1990
}]
В этом массиве есть два объекта с одинаковым order_id. Надо соединить их в один (сложив total и count) и добавить новый массив item с объектами в нем, например:
[{
order_id: "84957",
total: 3980,
date: "2023-06-13",
count: 2,
items: [
{product_id: "466", variant: "M", count: 1, price: 1990, name_product: "Футболка"},
{product_id: "468", variant: "XL", count: 1, price: 1990, name_product: "Футболка2"}
]
},
{
order_id: "84994",
total: 400,
date: "2023-06-13",
count: 1,
items: [
{product_id: "158", variant: "", count: 1, price: 400, name_product: "Штаны"}
]
},
{
order_id: "84992",
total: 1990
date: "2023-06-14",
count: 1,
items: [
{product_id: "469", variant: "M", count: 1, price: 1990, name_product: "Кофта"}
]
}]
Прочитал про .reduce(), вроде как можно это выполнить через него. Но не понимаю как.