最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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的基本介紹與使用的評論 (共 條)

分享到微博請遵守國家法律
呼和浩特市| 白山市| 且末县| 嘉兴市| 西平县| 湾仔区| 家居| 卓尼县| 韩城市| 府谷县| 威信县| 兴宁市| 濉溪县| 安达市| 融水| 瓮安县| 许昌县| 赣榆县| 灵丘县| 泸西县| 永修县| 启东市| 镇安县| 顺昌县| 河东区| 南充市| 汾阳市| 上思县| 方山县| 瓮安县| 兴海县| 延吉市| 班玛县| 繁峙县| 贞丰县| 石家庄市| 施秉县| 广宗县| 虞城县| 香格里拉县| 启东市|