ホームページ >ウェブフロントエンド >jsチュートリアル >AngularJS で配列プロパティを効率的に合計するにはどうすればよいですか?

AngularJS で配列プロパティを効率的に合計するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-19 01:05:11320ブラウズ

How Can I Efficiently Sum Array Properties in AngularJS?

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() を使用する traveler 配列では、次のようにメソッドを作成できます。

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

このメソッドでは、reduce() メソッドを2 つの引数 (配列の累積値 (a) と現在の要素 (b)) を受け取るコールバック関数。コールバック内で、合計 (prop) するプロパティにアクセスし、それを累積値に追加します。

このメソッドをトラベラー配列に適用するには、次の手順を実行できます:

$scope.travelerTotal = $scope.sum($scope.traveler, 'Amount');

このアプローチを使用すると、AngularJS アプリケーション内の任意の配列のプロパティ値を簡単に合計できます。再利用可能なメソッドを定義することで、冗長なコードを回避し、合計計算の一貫性を確保します。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。