ホームページ >ウェブフロントエンド >jsチュートリアル >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 サイトの他の関連記事を参照してください。