Благодаря ChatGPT разобрался! Оказалось все куда проще. Вдруг кому будет полезно :)
const orders = SaleOrder.reduce((acc, item) => {
const orderId = item.order_id;
if (!acc[orderId]) {
acc[orderId] = {
orderId: orderId,
date: item.date,
products: [],
count: 0, // добавляем переменную count
total: 0, // добавляем переменную total
};
}
acc[orderId].products.push({
name: item.name_product,
variant: item.variant,
productId: item.product_id,
count: item.count,
price: item.price,
total: item.total,
});
acc[orderId].count += item.count; // добавляем count
acc[orderId].total += item.price; // добавляем total
return acc;
}, {});
const ordersArray = Object.values(orders);
console.log(ordersArray);