2017-01-31 43 views
0

我想將我在JavaScript數組中的所有項目一起*項目數量。我有對象的數組,像這樣:有沒有辦法在對象數組上使用.reduce()?

var products = [ {price: 1, quantity: 2}, 
        {price: 4, quantity: 1}, 
        {price: 2, quantity: 1} ] 

現在,我使用

var sum = 0; 
products.forEach(function(item){ 
    sum += item.price * item.quantity; 
}) 
return sum; 

其中一期工程,但我只是想知道如果我可以重構這個使用。降低()。到目前爲止,我還沒有運氣,因爲我試圖將它映射出來並減少它。減少可以做到這一點嗎?

+1

向我們展示您嘗試使用'reduce',我們會幫助你得到它的工作。 – Amy

回答

7

當然,它的reduce最標準的使用情況:

var sum = products.reduce((sum, p) => sum + p.price*p.quantity, 0); 
相關問題