Heim > Web-Frontend > js-Tutorial > Wie kann ich die Werte einer bestimmten Eigenschaft über mehrere JavaScript-Arrays hinweg effizient summieren?

Wie kann ich die Werte einer bestimmten Eigenschaft über mehrere JavaScript-Arrays hinweg effizient summieren?

Susan Sarandon
Freigeben: 2024-12-20 19:34:10
Original
985 Leute haben es durchsucht

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

Effiziente Array-Wertsummierung

Diese Frage sucht nach einer effizienten Lösung für die Berechnung der Gesamtsumme einer bestimmten Eigenschaft über mehrere Arrays hinweg.

Problemstellung

Gegeben sei ein Array von Objekten, von denen jedes ein enthält „Beschreibung“ und eine „Betrag“-Eigenschaft umfasste der ursprüngliche Ansatz das Durchlaufen des Arrays und das schrittweise Hinzufügen der „Betrag“-Werte:

$scope.totalAmount = function(){
       var total = 0;
       for (var i = 0; i < $scope.traveler.length; i++) {
              total = total + $scope.traveler[i].Amount;
            }
       return total;
}
Nach dem Login kopieren

Äquivalente Methode für beliebige Eigenschaften

Die gewünschte Lösung würde die Summierung beliebiger ausgedrückter Eigenschaftswerte ermöglichen als:

$scope.traveler.Sum({ Amount });
$scope.someArray.Sum({ someProperty });
Nach dem Login kopieren

Optimierte Lösung

Die vorgeschlagene Lösung nutzt die array.reduce-Methode, um dieses Ziel zu erreichen:

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

$scope.travelerTotal = $scope.sum($scope.traveler, 'Amount');
Nach dem Login kopieren

Vorteile

  • Wiederverwendbarkeit: Diese Lösung kann für jedes Array wiederverwendet werden, indem die entsprechenden Argumente an die Summenfunktion übergeben werden.
  • Prägnanz: Sie kapselt die Summierungslogik in einer einzigen Methode, wodurch explizite Iterationsschleifen überflüssig werden.
  • Verbesserte Leistung: Reduzieren bietet inhärente Leistungsoptimierungen für das Array Verarbeitung.

Das obige ist der detaillierte Inhalt vonWie kann ich die Werte einer bestimmten Eigenschaft über mehrere JavaScript-Arrays hinweg effizient summieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage