効率的な配列値の合計
この質問では、複数の配列にわたる特定のプロパティの合計を計算するための効率的な解決策を求めます。
問題Statement
それぞれに「description」と「Amount」プロパティが含まれるオブジェクトの配列が与えられた場合、元のアプローチでは配列を反復処理し、「Amount」値を段階的に追加する必要がありました。
$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');
利点
以上が複数の JavaScript 配列にわたる特定のプロパティの値を効率的に合計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。