日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:52010
  • 待審:67
  • 小程序:12
  • 文章:1106242
  • 會員:784

介紹

在學習 javascript 入門課程并學習數(shù)組的所有不同方法時。我不太了解reduce方法的真正威力,只有在第二次回顧它之后我才意識到這個方法是多么有用。我希望這篇文章能讓一些人更清楚地了解此方法的工作原理以及何時使用它。

方法

array.prototype.reduce(callbackfunction)
array.prototype.reduce(callbackfunction,initialvalue)

這個方法到底有什么作用呢?

reduce() 方法使用回調(diào)函數(shù)處理數(shù)組的每個元素,將結(jié)果累積為單個值。如果提供了初始值,則將其用作起點;否則,使用第一個數(shù)組元素,并從第二個元素開始迭代。

回調(diào)函數(shù)參數(shù)

callbackfunction(累加器、currentvalue、currentindex、數(shù)組){}

累加器

上一次迭代的累積結(jié)果或初始值(如果提供)。

當前值

當前正在處理的數(shù)組元素的值。

當前索引

當前元素的索引,如果提供了初始值,則從 0 開始,否則為 1。

大批

正在執(zhí)行reduce()方法的數(shù)組。

初始值

當使用沒有初始值的reduce方法時,回調(diào)函數(shù)將獲取數(shù)組的第一個元素并將其初始化為累加器,然后迭代數(shù)組的其余部分。

使用案例

使用reduce方法最常見的例子是數(shù)組的求和。

const ages = [23, 15, 45, 13, 66, 54, 38];
let sumofages = ages.reduce(function(sumofages, currentage){
    sumofages = sumofages + currentage;
    return sumofages;
}); // 254

登錄后復制

雖然這正是reduce方法的優(yōu)點和擅長之處,但它還有更多的功能。

獲取組的最大年齡

const ages = [23, 15, 45, 13, 66, 54, 38];
let oldestperson = ages.reduce(function(maxage, currentage){
    if(currentage>maxage){
        maxage = currentage;
    }
    return maxage;
}); // 66

登錄后復制

這里我們使用reduce方法來保存我們在數(shù)組中遇到的最高年齡,并在迭代整個數(shù)組后返回該值。

刪除數(shù)組中的重復項

const store = ['apple', 'pear', 'apple', 'orange', 'apple', 'pear'];
let itemcatalogue = store.reduce(function(uniquestoreitems, currentitem){
    if(!uniquestoreitems.includes(currentitem)){
        uniquestoreitems.push(currentitem);
    }
    return uniquestoreitems;
}, []); // ['apple', 'pear', 'orange']

登錄后復制

重要的是這里要注意的是,對于reduce方法中的初始值,我們提供一個空數(shù)組[]。這意味著累加器現(xiàn)在是一個數(shù)組,并且我們的回調(diào)函數(shù)僅推送該數(shù)組中尚未存在的項目。結(jié)果我們刪除了重復項。

獲取數(shù)組中的項目數(shù)

const store = ['apple', 'pear', 'apple', 'orange', 'apple', 'pear'];
let itemCount = store.reduce(function(count, currentItem){
    count[currentItem] = (count[currentItem] || 0) + 1;
    return count;
}, {}); // { apple: 3, pear: 2, orange: 1 }

登錄后復制

重要這里需要注意的是,初始值是一個空對象。當我們?yōu)g覽商店中的商品時,我們會用計數(shù)填充該商品。

結(jié)論

首先,如果您已經(jīng)讀到這里,感謝您的閱讀!我寫這篇文章的主要目的是為了鞏固我對reduce方法的理解,我希望你也能在這里學到一些新東西! reduce 方法有很多非常酷的應用程序,并且使用起來非常簡潔。您對該方法還有其他用例或有趣的技巧嗎?我很想知道!

分享到:
標簽:Arrayreduce 理解
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 52010

    網(wǎng)站

  • 12

    小程序

  • 1106242

    文章

  • 784

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定