Maison >interface Web >js tutoriel >Comment puis-je additionner efficacement les valeurs des propriétés de tableau dans AngularJS ?

Comment puis-je additionner efficacement les valeurs des propriétés de tableau dans AngularJS ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-08 15:53:11772parcourir

How Can I Efficiently Sum Array Property Values in AngularJS?

Méthode améliorée pour additionner les valeurs des propriétés d'un tableau

Dans AngularJS, le calcul de la somme des valeurs d'un tableau peut souvent être effectué à l'aide de boucles. Cependant, pour faciliter la réutilisabilité du code, envisagez une approche plus efficace.

Fonction de sommation optimisée

Au lieu d'utiliser des boucles explicites, exploitez la méthode de réduction pour calculer la somme. Voici une fonction optimisée :

$scope.sum = function(items, prop) {
  return items.reduce(
    function(accumulator, currentItem) {
      return accumulator + currentItem[prop];
    },
    0 // Optional starting value
  );
};

Utilisation pour différents noms de propriété

Maintenant, vous pouvez réutiliser cette fonction pour n'importe quel tableau avec un nom de propriété personnalisé :

// For the $scope.traveler array
$scope.travelerTotal = $scope.sum($scope.traveler, 'Amount');

// For a different array, e.g. $scope.expenses
$scope.expensesTotal = $scope.sum($scope.expenses, 'Cost');

Avantages

Cette approche offre plusieurs avantages :

  • Lisibilité améliorée du code :Élimine les boucles explicites, rendant le code plus facile à comprendre.
  • Réutilisabilité améliorée du code :La fonction peut être réutilisé pour n'importe quel tableau avec un nom de propriété personnalisé.
  • Augmenté efficacité : La méthode de réduction est optimisée pour la sommation des opérations sur les tableaux.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn