JS Array.reduce 對象屬性累加


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) 必需。用於執行每個數組元素的函數。
函數參數:
參數 描述
total 必需。初始值, 或者計算結束后的返回值。
currentValue 必需。當前元素
currentIndex 可選。當前元素的索引
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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM