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