AngularJS 中的高级数组求和
在 AngularJS 中,对数组属性求和可能是一项常见任务。基本方法包括迭代数组并累积属性值。然而,当面对多个数组和不同的属性名称时,这种方法变得乏味。
为了解决这个问题,需要一种更灵活、可重用的解决方案,它允许对任何数组属性进行方便的求和。这可以使用 reduce() 方法来实现,该方法提供了一种聚合数组值的强大方法。
考虑以下示例:
$scope.traveler = [ { description: 'Senior', Amount: 50}, { description: 'Senior', Amount: 50}, { description: 'Adult', Amount: 75}, { description: 'Child', Amount: 35}, { description: 'Infant', Amount: 25 }, ];
要使用reduce()对旅行者数组的'Amount'属性求和,我们可以编写如下方法:
$scope.sum = function(items, prop){ return items.reduce( function(a, b){ return a b[prop]; }, 0); };
在此方法中,我们使用带有回调函数的reduce()方法,该函数接受两个参数:累加值(a)和数组的当前元素(b)。在回调中,我们访问要求和的属性 (prop) 并将其添加到累加值中。
要将此方法应用于我们的旅行者数组,我们可以执行以下操作:
$scope.travelerTotal = $scope.sum($scope.traveler, 'Amount');
使用这种方法,我们可以轻松地对我们的数组中任何数组的属性值求和AngularJS 应用程序。通过定义可重用的方法,我们避免了冗余代码并确保求和计算的一致性。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3