2017-02-05 2 views
1

Ich habe eine Seite, die eine Liste von einer ng-Wiederholung zurückgibt. Ich muss nur die zurückgegebenen Zahlen addieren. Ich weiß, dass es eine einfache Lösung gibt. Ich kann jedoch nicht die richtige Implementierung finden.Einfache sum ng-repeat Spalte

Html:

<ion-list class="item-borderless"> 
    <div class="card" ng-repeat="product in productsToFilter"> 
     <div class="row"> 
      {{product.shareCount}} 
     </div> 
    </div> 
</ion-list> 

Javascript:

$scope.productsToFilter 
$scope.productsToFilter = []; 

firebase.database().ref('products').once('value', function(products) { 
    products.forEach(function(product) { 
      var product = { 
      shareCount: product.val().shareCount 
      } 
    } 
}; 

Gibt eine Liste von Zahlen, und alle, die ich suche ist die Summe aller von ihnen unabhängig davon, wie viele Datensätze gibt.

+0

möglich Duplikat http://stackoverflow.com/questions/22731145/calculating-sum-of-repeated-elements-in-angularjs-ng-repeat –

+0

wie sieht Ihre Produkte Array aussehen? – Sajeetharan

+0

Nicht ein Duplikat, ich muss nicht über Spalten insgesamt multiplizieren. Ich brauche nur eine laufende Summe der gesamten Spalte. – MacD

Antwort

2

Da Sie bereits über products Array über forEach iterieren, dann denke ich, dass Sie sie einfach zu einer Variablen hinzufügen können, um den Gesamtwert von shareCount zu erhalten.

var totalCount = 0; 
products.forEach(function(product) { 
     totalCount += product.val().shareCount; 
     var product = { 
     shareCount: product.val().shareCount 
     } 
} 
+0

Ja, das hat den Trick gemacht! Danke @ myke_11j – MacD