Heim >Web-Frontend >js-Tutorial >Wie kann ich Eigenschaftswerte über mehrere Arrays in JavaScript effizient summieren?

Wie kann ich Eigenschaftswerte über mehrere Arrays in JavaScript effizient summieren?

Barbara Streisand
Barbara StreisandOriginal
2024-12-10 19:48:11730Durchsuche

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

Eigenschaftswerte in Arrays effizient summieren

Um den Gesamtbetrag in einem Array zu berechnen, verwenden Sie normalerweise eine einfache Schleife, wie in der Abbildung gezeigt Beispiel:

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

Dieser Ansatz kann mühsam werden, wenn mit mehreren Arrays und verschiedenen Eigenschaftsnamen gearbeitet wird. Die ideale Lösung würde eine präzise Summierung mit einer standardisierten Methode ermöglichen.

Geben Sie die Funktion reduce ein:

Die Funktion reduce wendet auf jede eine Reduzierfunktion an Element eines Arrays, das die Ergebnisse in einem einzigen Wert akkumuliert. In diesem Fall definieren wir eine Reduzierfunktion, die den Zieleigenschaftswert zur laufenden Summe addiert:

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

Durch die Verwendung von reduce können Sie mühelos die Summe für jedes Array und jede Eigenschaft berechnen :

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

Dieser verallgemeinerte Ansatz bietet Flexibilität und Effizienz für die Summierung von Immobilienwerten in verschiedenen Arrays.

Das obige ist der detaillierte Inhalt vonWie kann ich Eigenschaftswerte über mehrere Arrays in JavaScript effizient summieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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