reduce怎麼設置?點擊右上方紅色按鈕關注“小鄭搞碼事”,每天都能學到知識,搞懂一個問題,我來為大家講解一下關于reduce怎麼設置?跟着小編一起來看一看吧!
點擊右上方紅色按鈕關注“小鄭搞碼事”,每天都能學到知識,搞懂一個問題!
大家好!我是/小鄭搞碼事/的小鄭
今天和大家分享一個前端開發中同樣非常實用的方法reduce。
關于reduce方法,需要做到兩點。
第一,理解它的概念。
将一個數組中的所有元素還原成一個單一的輸出值
語法如下:
reduce(cb(返回值,當前值,當前索引,源數組), 初始值)
當前索引和源數組是可以不寫的。
cb表示callback。為了不占用太長,我簡寫了一下。
當前值就是數組中當前正在操作的元素。
返回值就是當前值和初始值操作之後的返回的結果。
第二,知道它有哪些應用。
知道了概念之後,那我們來看一下它的實際使用。
數組元素之和
這個比較好理解
比如數組c=[1,2,3]
c.reduce((a,b) => a b, 0)
輸出就是6
上例a就是返回值,b就是當前值。0就是初始值。
數組對象元素之和
這個什麼意思呢?就是
c=[{s1:'語文',m1:45},{s1:'數學',m1:50}]
c.reduce((a,b)=> a b.m1, 0)
輸出就是95
就這個意思。
過濾重複數據
這個比較好理解
c=[1,3,3,1]
利用reduce将它變成[1,3]。
c.reduce((a,b) => {
if(!a.includes(b)) {
a.push(b)
}
return a;
}, [])
需要注意的是這裡的初始值是一個數組[]。
其次就是用到了數組元素存在與否的方法includes判斷。都是比較常用的方法。
前端能力越來越強,技術變化日新月異,唯有基礎紮實才能完美應對,"前端每日幹貨"圈子堅持每日為您提供前端最需要掌握的基礎知識點。前端知識天天學。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!