繁体   English   中英

从每个对象数组中乘以 2 个值,然后将相加的数字相加以获得 Reactjs/Javascript 中的总数

[英]multiply 2 value from each array of objects then add the multiplied numbers to get a total number in Reactjs/Javascript

我正在构建一个电子商务应用程序,我想在其中获取用户订购商品的总价格。 我有一个名为“orders”的数组,其中包含所有订购的物品。 每件商品都有 2 个关键调用,payablePrice 和 purchaseQty。 我想将这两个键相乘,然后我想将相加的数字相加得到总数。 请让我知道是否有更好的方法来获得总数,

这是我的对象数组:

排序数组

这是我尝试过的:

      {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>
  ))}

这是行不通的。请帮我获取每个订单的总价格

我得到的结果: 在此处输入图像描述

所以,我只需要以正确的方式使用.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>
      ))}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM