繁体   English   中英

使用JavaScript中的forEach从对象数组添加具有相同键的多个对象值

[英]Add multiple object values with the same key from object array using forEach in JavaScript

我正在使用Vue JS开发购物篮功能,我需要创建一个小计功能,该功能将每个商品的价格和数量值相乘并将它们加在一起以创建小计。

dataSet: [
  {
  "instock" : '',
  "price": 49,
  "qty": 1,
  "subTotal": '' 
  },
  {
  "instock" : '',
  "price": 29,
  "qty": 1,
  "subTotal" : '',
  },
]

我设法在对象数组上使用forEach返回“价格”和“数量”中每个值,如下所示:

getSubTotal(dataSet) {    
   this.dataSet.forEach(function(data) {
   console.log(data.price)
})
console
49
29

到目前为止,一切都很好(我认为),我正在获得返回给我的价格值,唯一的问题是它们不是以相同的数组返回而是分开返回。 我确实需要将它们返回为[49,29],因此我可以将这些小计的值加在一起。 我能够按索引对每个数组进行硬编码,然后分别添加它们,但是这并不能在将来证明对象数组中新服装的可能性。

任何建议/批评或帮助将不胜感激。

 getSubTotal(dataSet) { return this.dataSet.map(function(data) { return data.price; }) 

好吧,我能够弄清楚这一点。

dataSet: [
 {
 "price": 49,
 "qty": 1,
 },
 {
 "price": 29,
 "qty": 1,
 },
]

subTotals(data) {
  const calcArray = [data.price, data.qty];
  return calcArray.reduce((a,b)=> {
    //multiply price by quantity for subtotal
    return a*b;
  });
}

暂无
暂无

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

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