2017-03-28 25 views
1

おはよう配列の合計値を計算する方法

私はデータの配列の合計値の計算に誰かが助けてくれるのだろうかと思っていました。私が使っているファイルのダウンロードセクションとしてこの情報を格納するために$ q.all()ステートメントを使用するにはどうすればよい

var products = [{'size':'400' },{'size':'500' }] ; 

angular.forEach(products, function(item){ 
    var total = 0; 
    total += item.size++; 
    return total; 
}); 

は私のangular.forEachのなステートメントを無視し、だけではなく、個々の項目をチェックします。

答えて

1

すべてのサイズの合計を取得する場合は、javacript reduceメソッドを使用します。すべてのサイズの合計を効率的に返します。 $q.allについて

var products = [{'size':'400' },{'size':'500' }] ; 
 

 
var sum = products.reduce((a,b) => parseInt(a.size) + parseInt(b.size)) 
 

 
console.log(sum)

$q.allは、通常、複数のhttpリクエストを1回送信するために使用します。あなたのサービスに合計を送信したい場合は、データプロパティとしての合計をあなたのhttpリクエストの1つまたはすべてにバインドします(あなたの必要条件に依存します)。

+0

ありがとうございました。これは完全に機能します。 $ q.allステートメントに関して。私はそれが値をループしているように合計を取得するより良い方法だと思ったが、値をループする前に私が最初に合計を得ることができるという提案をしているメソッドを使用する場合。 –

+0

これで複数のリクエストを送信する必要はありません。 1つのhttp要求で合計を送信する –

2

使用$ q.all

const productSum = products.reduce((sum, product) => sum + parseInt (product.size, 10), 0)

を減らす代わりにangular.forEach

複数の約束を算出するためのものです。私はあなたが間違った方向を見ていると思う。

関連する問題