通过乘以属性来更新数组的总属性

问题描述

所以我有一个数组,我想通过将数值乘以qty来改变总数(我将其更改为英语),我终于想出了如何获得总数。现在,我一直坚持在right属性中更新总数。

我认为是一个循环之类的东西,但是对于我如何弄清楚它应该以正确的值和数量之和来更新正确的属性,这对我来说仍然没有意义。

然后我要制作它,以便您可以在表单中对其进行更改并添加到其中,但这又是一步。我一直在研究Array Map和ForEach进行更改。但是我有点卡住了

预期输出为:

{omschrijving:“ brood”,值:1,数量:3,总计:3},

{omschrijving:“ brocolli”,值:0.99,数量:2,总计:1.98},

{omschrijving:“ Krentenbollen”,值:1.20,数量:4,总计:4.80},

{omschrijving:“ Noten”,值:2.99,数量:2,总计:5.98}

我还意识到我的forEach输出5个数字吗? :O

我也从属性删除了手动总计,因为我想更改它。

现在它给出一个错误:)所以我再次将其填写在手册中。

    let product =  [
{omschrijving:"brood",value:1,qty:3,total:},{omschrijving:"brocolli",value:0.99,qty:2,{omschrijving:"Krentenbollen",value:1.20,qty:4,{omschrijving:"Noten",value:2.99,total:}
]



product.forEach(function (arrayItem) {
    var x = arrayItem.value * arrayItem.qty;
    console.log(x);
});

解决方法

这是使用简单的for循环的解决方案

let product =  [
{omschrijving:"Brood",value:1,qty:3},{omschrijving:"Brocolli",value:0.99,qty:2},{omschrijving:"Krentenbollen",value:1.20,qty:4},{omschrijving:"Noten",value:2.99,qty:2}
]

for(let i=0;i<product.length;i++)
{
  product[i].total = product[i].value*product[i].qty;
}
console.log(product);

使用forEach方法

let product =  [
    {omschrijving:"Brood",qty:2}
    ]

product.forEach(function (arrayItem) {
        arrayItem.total = arrayItem.value * arrayItem.qty;
    });
console.log(product);

使用.map方法

let product =  [
    {omschrijving:"Brood",qty:2}
    ]

product.map(pro => 
   {pro.total = pro.value * pro.qty;
   return pro;
   }
)
console.log(product);