Maison >interface Web >js tutoriel >Comment puis-je additionner efficacement les valeurs de propriété sur plusieurs tableaux en JavaScript ?

Comment puis-je additionner efficacement les valeurs de propriété sur plusieurs tableaux en JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-10 19:48:11772parcourir

How Can I Efficiently Sum Property Values Across Multiple Arrays in JavaScript?

Résumer efficacement les valeurs de propriété dans des tableaux

Pour calculer le montant total dans un tableau, vous utilisez généralement une boucle simple comme indiqué dans le tableau ci-dessous. exemple :

for (var i = 0; i < $scope.traveler.length; i++) {
  total = total + $scope.traveler[i].Amount;
}

Cette approche peut devenir fastidieuse lorsqu'il s'agit de plusieurs tableaux et de différents noms de propriétés. La solution idéale permettrait une sommation concise à l'aide d'une méthode standardisée.

Entrez la fonction réduire :

La fonction réduire applique une fonction de réduction à chacun élément d’un tableau, accumulant les résultats en une seule valeur. Dans ce cas, nous définissons une fonction de réduction qui ajoute la valeur de la propriété cible au total cumulé :

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

En utilisant reduce, vous pouvez facilement calculer le total de n'importe quel tableau et propriété. :

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

Cette approche généralisée offre flexibilité et efficacité pour additionner les valeurs de propriété dans divers 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