用属性相乘更新数组总数 属性
Update an Array total property with multiplying the properties
所以我有一个数组,我想通过将值乘以数量来更改总数(我将其更改为英文),我终于想出了如何获得总数。现在我一直在更新右边的总数 属性。
我认为是一个循环之类的东西,但它对我来说还没有意义,但我如何才能说清楚它应该用正确的价值和数量之和更新正确的 属性。
我稍后会制作它,以便您可以在表单中更改它并添加到它,但这是更进一步的。我一直在看 Array Map 和 ForEach 来改变它。但是我有点卡住了
预期输出为:
{omschrijving:"育雏", value:1, qty:3, total:3},
{omschrijving:"Brocolli", value:0.99, qty:2, total:1.98},
{omschrijving:"Krentenbollen", value:1.20, qty:4, total:4.80},
{omschrijving:"注意", value:2.99, qty:2, total:5.98}
我也意识到我的 forEach 输出 5 个数字? :O
我还从 属性 中删除了我的手动总数,因为我想更改它。
现在报错了:) 所以我又重新填写了手册
let product = [
{omschrijving:"Brood", value:1, qty:3, total:},
{omschrijving:"Brocolli", value:0.99, qty:2, total:},
{omschrijving:"Krentenbollen", value:1.20, qty:4, total:},
{omschrijving:"Noten", value:2.99, qty:2, 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", 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}
]
product.forEach(function (arrayItem) {
arrayItem.total = arrayItem.value * arrayItem.qty;
});
console.log(product);
使用 .map 方法
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}
]
product.map(pro =>
{pro.total = pro.value * pro.qty;
return pro;
}
)
console.log(product);
所以我有一个数组,我想通过将值乘以数量来更改总数(我将其更改为英文),我终于想出了如何获得总数。现在我一直在更新右边的总数 属性。
我认为是一个循环之类的东西,但它对我来说还没有意义,但我如何才能说清楚它应该用正确的价值和数量之和更新正确的 属性。
我稍后会制作它,以便您可以在表单中更改它并添加到它,但这是更进一步的。我一直在看 Array Map 和 ForEach 来改变它。但是我有点卡住了
预期输出为:
{omschrijving:"育雏", value:1, qty:3, total:3},
{omschrijving:"Brocolli", value:0.99, qty:2, total:1.98},
{omschrijving:"Krentenbollen", value:1.20, qty:4, total:4.80},
{omschrijving:"注意", value:2.99, qty:2, total:5.98}
我也意识到我的 forEach 输出 5 个数字? :O
我还从 属性 中删除了我的手动总数,因为我想更改它。
现在报错了:) 所以我又重新填写了手册
let product = [
{omschrijving:"Brood", value:1, qty:3, total:},
{omschrijving:"Brocolli", value:0.99, qty:2, total:},
{omschrijving:"Krentenbollen", value:1.20, qty:4, total:},
{omschrijving:"Noten", value:2.99, qty:2, 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", 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}
]
product.forEach(function (arrayItem) {
arrayItem.total = arrayItem.value * arrayItem.qty;
});
console.log(product);
使用 .map 方法
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}
]
product.map(pro =>
{pro.total = pro.value * pro.qty;
return pro;
}
)
console.log(product);