无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

ES6 之reduce的基本介紹與使用

2023-02-28 10:44 作者:doubleyong  | 我要投稿

現(xiàn)在ES6語法應(yīng)用的特別廣泛,今天我們就來介紹下ES6中的reduce方法,它的用法非常強(qiáng)大,下面就跟著我一起來學(xué)習(xí)它吧



01
基本介紹


定義:對數(shù)組中的每個(gè)元素執(zhí)行一個(gè)自定義的累計(jì)器,將其結(jié)果匯總為單個(gè)返回值

形式:array.reduce((t, v, i, a) => {}, initValue)

?參數(shù)

    ? callback:回調(diào)函數(shù)(必選)

    ? initValue:初始值(可選)


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

    ?????total(t):累計(jì)器完成計(jì)算的返回值(必選)

    ?????value(v):當(dāng)前元素(必選)

    ????? index(i):當(dāng)前元素的索引(可選)

    ????? array(a):當(dāng)前元素所屬的數(shù)組對象(可選)



過程(重點(diǎn)看)


  1. ? 以t 作為累計(jì)結(jié)果的初始值,不設(shè)置t則以數(shù)組第一個(gè)元素為初始值


  2. ?開始遍歷,使用累計(jì)器處理v,將v的映射結(jié)果累計(jì)到t上,結(jié)束此次循環(huán),返回t


  3. ? 進(jìn)入下一次循環(huán),重復(fù)上述操作,直至數(shù)組最后一個(gè)元素


  4. ? 結(jié)束遍歷,返回最終的t




02
如何運(yùn)行


假如運(yùn)行下段reduce()代碼:


callback 被調(diào)用四次,每次調(diào)用的參數(shù)和返回值如下表:




03
reduce方法的應(yīng)用


reduce() 的幾個(gè)強(qiáng)大用法:

數(shù)組求和


二維數(shù)組轉(zhuǎn)為一維數(shù)組



計(jì)算數(shù)組中每個(gè)元素出現(xiàn)的次數(shù)


方法一:


方法二:


數(shù)組去重

下面的方法,先要對數(shù)組進(jìn)行升序排列


相關(guān)面試題:

完成一個(gè)'flatten'的函數(shù),實(shí)現(xiàn)“拍平”一個(gè)多維數(shù)組為一維.

如:var testArr2 = [0, [1, [2, [3, [4, [5]]]]]];

ES6 之reduce的基本介紹與使用的評論 (共 條)

分享到微博請遵守國家法律
易门县| 黔江区| 高密市| 高台县| 芒康县| 霍邱县| 通道| 明光市| 新建县| 兴义市| 丹棱县| 广西| 武义县| 建德市| 运城市| 靖州| 灌云县| 西和县| 札达县| 丰台区| 巫山县| 日喀则市| 沂南县| 进贤县| 东乌| 舟曲县| 龙江县| 二连浩特市| 阳原县| 昆明市| 邳州市| 察哈| 综艺| 福州市| 延安市| 静安区| 隆子县| 抚顺市| 迭部县| 望都县| 湘阴县|