Array reduce() 方法 ,無非就是 計算數組元素 相加后的總和 ,看網上給的Demo 全是 [1,2,3,4,6].reduce 這種基本用法,
本次我將使用 reduce 實現 數組對象中 具體屬性 Price 累加 [{ name: 'apple', price: 10 }, { name: 'banana', price: 9 } ];
| 方法 | Chorme | IE | Firefox | Safari | Opera |
|---|---|---|---|---|---|
| reduce() | Yes | 9.0 | 3.0 | 4 | 10.5 |
| 參數 | 描述 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| function(total,currentValue, index,arr) | 必需。用於執行每個數組元素的函數。 函數參數:
|
||||||||||
| initialValue | 可選。傳遞給函數的初始值 |
普通 for 實現 和 reduce 實現對比
let array = [ { name: 'apple', price: 10 }, { name: 'banana', price: 9 } ]; let sumprice = 0; for (let index = 0; index < array.length; index++) { const element = array[index]; sumprice += element.price; } console.log('for example sumprice',sumprice); /* reduce 語法實現 total 必需。初始值, 或者計算結束后的返回值。 currentValue 必需。當前元素 currentIndex 可選。當前元素的索引 arr 可選。當前元素所屬的數組對象。 */ sumprice = array.reduce(function (total, currentValue, currentIndex, arr) { return total + currentValue.price; }, 0); console.log('for reduce sumprice',sumprice);
