ホームページ > ウェブフロントエンド > 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?

効率的な配列値の合計

この質問では、複数の配列にわたる特定のプロパティの合計を計算するための効率的な解決策を求めます。

問題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');
ログイン後にコピー

利点

  • 再利用性: このソリューションは、適切な引数をsum 関数。
  • 簡潔さ:加算ロジックを 1 つのメソッドにカプセル化し、明示的な反復ループの必要性を排除します。
  • パフォーマンスの向上: Reduce は、配列処理に固有のパフォーマンスの最適化を提供します。

以上が複数の JavaScript 配列にわたる特定のプロパティの値を効率的に合計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート