javascript - 通过将属性相乘来更新数组总属性
问题描述
所以我有一个数组,我想通过将值乘以 qty 来改变总数(我把它改成了英文),我终于想出了如何得到总数。现在我一直在更新正确属性中的总数。
我认为一个循环或其他东西,但它对我来说还没有意义,我如何才能清楚地说明它应该用正确的价值和数量之和更新正确的属性。
然后我稍后会制作它,以便您可以在表单中更改它并添加到它,但这是更进一步的一步。我一直在看 Array Map 和 ForEach 来改变它。但我有点卡住了
预期的输出将是:
{omschrijving:“育雏”,价值: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, 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);
推荐阅读
- json - 如何将 groupby 数据绑定到 amcharts 地图
- azure - Azure DevOps 如何跳过 PR 构建运行的 PublishBuildArtifacts 步骤
- angular - 使用 SwPush 服务在 Angular 中获取当前推送管理器订阅
- swift - Xcode 12 和 iOS 14 中的手势问题
- asp.net - 为 SSIS SourceConnectionOLEDB 指定 windows 帐户
- android - 深度链接在测试时工作但不在生产中,Android Cordova Webview
- c# - 构造函数的依赖注入
- reactjs - 将“组件”作为“通用”类型的道具传递
- python - How to split the csv file with line numbers which pass as parameter and save into different files
- javascript - 如何使用函数发出 api 获取请求?