Maison > interface Web > js tutoriel > Comment puis-je additionner efficacement les valeurs d'une propriété spécifique sur plusieurs tableaux JavaScript ?

Comment puis-je additionner efficacement les valeurs d'une propriété spécifique sur plusieurs tableaux JavaScript ?

Susan Sarandon
Libérer: 2024-12-20 19:34:10
original
979 Les gens l'ont consulté

How Can I Efficiently Sum the Values of a Specific Property Across Multiple JavaScript Arrays?

Somme efficace des valeurs de tableau

Cette question recherche une solution efficace pour calculer la somme totale d'une propriété spécifique sur plusieurs tableaux.

Énoncé du problème

Étant donné un tableau d'objets, chacun contenant une propriété "description" et une propriété "Montant", l'approche originale impliquait de parcourir le tableau et d'ajouter progressivement les valeurs "Montant":

$scope.totalAmount = function(){
       var total = 0;
       for (var i = 0; i < $scope.traveler.length; i++) {
              total = total + $scope.traveler[i].Amount;
            }
       return total;
}
Copier après la connexion

Méthode équivalente pour les propriétés arbitraires

La solution souhaitée permettrait de sommer des valeurs de propriétés arbitraires, exprimées comme :

$scope.traveler.Sum({ Amount });
$scope.someArray.Sum({ someProperty });
Copier après la connexion

Solution optimisée

La solution proposée exploite la méthode array.reduce pour y parvenir goal :

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

$scope.travelerTotal = $scope.sum($scope.traveler, 'Amount');
Copier après la connexion

Avantages

  • Réutilisabilité : Cette solution peut être réutilisée pour n'importe quel tableau en passant les arguments appropriés au fonction de somme.
  • Concision : Il encapsule la sommation logique dans une seule méthode, éliminant ainsi le besoin de boucles d'itération explicites.
  • Performances améliorées : Réduire fournit des optimisations de performances inhérentes au traitement des 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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal