我创建了FormArray,用于撰写订单商品。 从Form生成的JSON就是这样。
{
"validFrom":"2018-11-16T21:07:02.167Z",
"validTo":"2018-12-01T21:07:02.167Z",
"totalPriceOfOrder": "{{Price of all items this need be calculated from all child object total price}}"
"items":[
{
"name":"Head Phones",
"unit":"",
"quantity":"1",
"price":"200",
"totalPrice":""
},
{
"name":"",
"unit":"",
"quantity":"2",
"price":"200",
"totalPrice":""
}
]
}
我需要在Items数组中计算: 1.数量*价格=总价格 例如
{
"name":"",
"unit":"",
"quantity":"3",
"price":"200",
"totalPrice":"600"
}
然后,我需要将Items数组的所有totalPrices总计加到父属性totalPriceOfOrder。
我尝试使用reduce,但是没有成功。 你能给我例子还是建议
非常感谢
答案 0 :(得分:3)
这一定很简单-
let propertytotalPriceOfOrder = order.items.map(item => +item.unit * +item.quantity * +item.price);
其中order
是您的整个json对象。
注意:使用+
运算符是因为您在json中有string
值,需要在计算number
之前将其转换为arithmetic
。