Reactjs 从react中的对象数组(状态)计算总量(数量*价格)的最佳方法是什么?

Reactjs 从react中的对象数组(状态)计算总量(数量*价格)的最佳方法是什么?,reactjs,Reactjs,我有一个像我的初始状态一样的对象数组 const [product,setProduct]=useState([ { id:1, product_title:"Item 1", quantity:2, price:100.00 }, { id:2, product_title:"Item 2", quantity:3,

我有一个像我的初始状态一样的对象数组

const [product,setProduct]=useState([
    {
          id:1,
          product_title:"Item 1",
          quantity:2,
          price:100.00
    },
    {
          id:2,
          product_title:"Item 2",
          quantity:3,
          price:300.00
    },
])
在这里,我还添加了更多的项目,同时,我想根据对象中每个项目的数量*价格来计算总金额。现在我正在继续使用下面的代码这样的map函数,我得到了精确的结果

const countTotal=(items)=>
{
     var total=0;
     product.map(item=>total+=item.quantity*item.price)
     setTotal(total)
}
现在我的问题是,这是一个好的过程,还是有比这个过程更好、更标准的替代方法。

您使用的.map方法不正确,您应该使用reduce方法,如下所示

`const total = product.reduce((prev, cur) => {
  return prev + cur.quantity * cur.price;
}, 0);`
您使用的.map方法不正确,应该改用reduce方法,如下所示

`const total = product.reduce((prev, cur) => {
  return prev + cur.quantity * cur.price;
}, 0);`

一般来说,如果您有一个数组,并且希望基于所有值创建单个值,则需要array.proptotype.reduce

常数乘积=[ { id:1, 产品名称:第1项, 数量:2, 价格:100.00 }, { id:2, 产品名称:第2项, 数量:3, 价格:300.00 }, ]; const countTotal=items=>items.reduceac,curr=>acc+curr.quantity*curr.price,0;
console.logcountTotalproducts一般来说,如果您有数组,并且希望基于所有值使用单个值,则需要array.proptotype.reduce

常数乘积=[ { id:1, 产品名称:第1项, 数量:2, 价格:100.00 }, { id:2, 产品名称:第2项, 数量:3, 价格:300.00 }, ]; const countTotal=items=>items.reduceac,curr=>acc+curr.quantity*curr.price,0;
console.LogCountTotalProducts感谢您的回复。感谢您的回复。