首頁 > web前端 > js教程 > 如何有效地對多個 JavaScript 陣列中特定屬性的值求和?

如何有效地對多個 JavaScript 陣列中特定屬性的值求和?

Susan Sarandon
發布: 2024-12-20 19:34:10
原創
988 人瀏覽過

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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板