Задать вопрос
  • Как сгруппировать массив объектов?

    kokorinleks
    @kokorinleks Автор вопроса
    Благодаря 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);
    Ответ написан
    Комментировать
  • Как сделать пропажу меню при клики React?

    chemdev тебе правильно все написал в комменте.
    И если вдруг после всех действий, которые он описал ты захочешь чтобы окошко сворачивалось еще и при клике вне его, то можно использовать библиотеку ClickAwayListener.
    Код будет выглядеть так:
    {language && ( <ClickAwayListener onClickAway={функция которая задает окну true & false}><div> </div> </ClickAwayListener> )}
    Ответ написан