我有这样的事情:
$scope.traveler = [
{ description: 'Senior', Amount: 50},
{ description: 'Senior', Amount: 50},
{ description: 'Adult', Amount: 75},
{ description: 'Child', Amount: 35},
{ description: 'Infant', Amount: 25 },
];
现在有了这个数组的总量,我正在做这样的事情:
$scope.totalAmount = function(){
var total = 0;
for (var i = 0; i < $scope.traveler.length; i++) {
total = total + $scope.traveler[i].Amount;
}
return total;
}
当只有一个数组时很容易,但我有其他数组具有不同的属性名称,我想总结一下。
如果我能做这样的事情,我会更开心:
$scope.traveler.Sum({ Amount });
但我不知道如何以一种我可以在未来重用它的方式来完成它,如下所示:
$scope.someArray.Sum({ someProperty });
原文由 nramirez 发布,翻译遵循 CC BY-SA 4.0 许可协议
更新的答案
由于向 Array 原型添加函数的所有缺点,我正在更新此答案以提供一种替代方法,使语法与问题中最初请求的语法相似。
原始答案
由于它是一个数组,因此您可以向 Array 原型添加一个函数。
小提琴:http: //jsfiddle.net/9BAmj/