#javascript #reactjs #ecmascript-6
#javascript #reactjs #ecmascript-6
Вопрос:
Я создаю приложение для электронной коммерции, в котором я хочу получить общую стоимость товаров, заказанных пользователями. У меня есть массив под названием «заказы», где у меня есть все упорядоченные элементы. у каждого элемента есть 2 ключевых вызова payablePrice amp; purchasedQty. Я хочу умножить эти 2 ключа, затем я хочу добавить умноженное число, чтобы получить общее количество. Пожалуйста, дайте мне знать, есть ли лучший способ получить общее количество,
Вот мой массив объектов:
Это то, что я пробовал:
{user.orders.map((order, i) => (
<tr key={i}>
<td> {order._id} </td>
<td> {userName} </td>
<td>
{order.items.map((item) => item.payablePrice * item.purchasedQty)}
</td>
<td>status</td>
</tr>
))}
что не работает.Пожалуйста, помогите мне получить общую стоимость каждого заказа
Комментарии:
1. Ошибка? не могли бы вы предоставить его точно?
2. Извините, на самом деле, когда я использую .reduce((acc, cur)=> acc cur) после .map, я получаю эту ошибку
3. Итак, обновите свой вопрос 🙂
Ответ №1:
Итак, мне просто нужно было правильно использовать .reduce after .map() этот код решил мою проблему
{user.orders.map((order, i) => (
<tr key={i}>
<td> {order._id} </td>
<td> {userName} </td>
<td>
{order.items
.map((item) => item.payablePrice * item.purchasedQty)
.reduce((acc, current) => {
return acc current;
}, 0)}
</td>
<td>status</td>
</tr>
))}