首页 > web前端 > js教程 > 如何有效地对多个 JavaScript 数组中特定属性的值求和?

如何有效地对多个 JavaScript 数组中特定属性的值求和?

Susan Sarandon
发布: 2024-12-20 19:34:10
原创
980 人浏览过

How Can I Efficiently Sum the Values of a Specific Property Across Multiple JavaScript Arrays?

高效数组值求和

本题寻求一种有效的解决方案来计算多个数组中特定属性的总和。

问题语句

给定一个对象数组,每个对象都包含一个“描述”和一个“金额”属性,原始方法涉及迭代数组并增量添加“金额”值:

$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 });
登录后复制

优化解决方案

建议的解决方案利用 array.reduce 方法来实现此目的目标:

$scope.sum = function(items, prop){
    return items.reduce( function(a, b){
        return a + b[prop];
    }, 0);
};

$scope.travelerTotal = $scope.sum($scope.traveler, 'Amount');
登录后复制

优点

  • 可重用性: 通过将适当的参数传递给sum 函数。
  • 简洁性: 它将求和逻辑封装在单个方法中,无需显式迭代循环。
  • 性能改进:Reduce 为数组处理提供固有的性能优化。

以上是如何有效地对多个 JavaScript 数组中特定属性的值求和?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板