Нужна помощь с .reduce

Это фрагмент кода который отвечает за отображение общай суммы

<div className={s.total}><b>Total</b></div>
              {this.state.products.map((products) => (         
                 value.state.cartItems.map((item) =>( products.id === item ? 
                    products.prices.map((prices) => ( 
                        <div>
                        <div className={s.praceTotal}>{value.state.selectValue.slice(0, -4) === prices.currency.symbol ? prices.currency.symbol + " " + (products.prices.reduce((acc, price) => {
                             return acc + price.amount
                                }, 0) * this.state.quantity).toFixed(3).slice(0, -1)  : null  } </div>
                        </div>
                   ))
                    : null)) ))}

Я буду описывать построчно что код делает

Total **- Просто выводет Total**

{this.state.products.map((products) => ( - Раскрываю массив products что бы добраться до prices

value.state.cartItems.map((item) =>( products.id === item ? value.state.cartItems - это информация о id товара по которому сделан клик я передаю через context, а так как это массив мне его нужно достать через map. Далее тернарное выражение с сравнением id товара и id клика.

products.prices.map((prices) => ( - раскрываю массив prices

value.state.selectValue.slice(0, -4) === prices.currency.symbol - это сравнивает какая валюта сейчас установлена на сайте

? prices.currency.symbol + " " + (products.prices.reduce((acc, price) => { return acc + price.amount}, 0) * this.state.quantity).toFixed(3).slice(0, -1) - Вывод символа валюты который установлен на сайте и общая сумма всех добавленых товаров в корзину (Сейчас это не так)

: null - если условие не верное , то возрат null


Ответы (0 шт):