【发布时间】:2025-11-25 15:50:02
【问题描述】:
我有一系列产品,每个产品都有价格。我想创建一个过滤器来计算所有产品的总价格。问题是我不能使用 forEach() 因为我在一个回调函数中。我的问题是,是否有类似 myArray.(intheobject).price 的函数,或者管理回调并获得正确结果的方法?
this.productList = [
{
type: 'chocolate',
pack: '3',
price: 5,
checkState: false
},
{
type: 'chocolate',
pack: '5',
price: 7,
checkState: false
},
{
type: 'chocolate',
pack: '10',
price: 10,
checkState: false
},
{
type: 'honey',
pack: '3',
price: 5,
checkState: false
},
{
type: 'honey',
pack: '5',
price: 7,
checkState: false
},
{
type: 'honey',
pack: '10',
price: 10,
checkState: false
},
{
type: 'candy',
pack: '3',
price: 5,
checkState: false
},
{
type: 'candy',
pack: '5',
price: 7,
checkState: false
},
{
type: 'candy',
pack: '10',
price: 10,
checkState: false
}
]
.filter('calculateTotal', function(){
var totalCost = 0;
return function(input){
return totalCost + ???
}
})
PierreDuc 的回答后,我的过滤器是这样的:
.filter('calculateTotal', function(){
return function(input){
return input.reduce((total, item) => item.price + total, 0);
}
})
【问题讨论】:
标签: javascript angularjs