高階函式之reduce

2022-05-12 08:07:54 字數 818 閱讀 1996

let arrone = [1, 2, 3, 4]

let arrtwo = [, , ]

let arrthree = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

let arrfour = [1, 2, 1, 2, 3, 4, 4, 5, 5, 5, 66, 6, 8]

//1:用作單陣列數字累加器

let newonearr = arrone.reduce((a, b) => a + b, 0) //這裡的首次引數c可以不加

// console.log(newonearr) 0+1+2+3+4

//2:用作陣列物件累加

let c = 0;

let sum = arrtwo.reduce((a, b) => , c) //注意點2 是這個c是要傳入的 是作為第一次的a作為相加 不傳會報錯

// console.log(sum) // logs 6

//3:將二維陣列轉化為一位陣列

let erweizhuanyiwei = arrthree.reduce((a, b) => a.concat(b), )

// console.log(erweizhuanyiwei)

//4:計算陣列中每個元素出現的次數

let cishu = arrfour.reduce((a, b) => 判斷b是否在arrfour中 有的話 鍵值+1

if (b in a) else

return a //最後把a return出去

}, {})

// console.log(cishu)

python裡的高階函式(類 之reduce

reduce 摺疊 python2 內建函式 直接呼叫 python3 functools模組下 將序列中的每個元素進行計算,計算規則 先將序列的前兩個值傳遞個函式的引數,並進行計算,將函式計算出來的結果和下乙個元素再次作為函式的兩個引數進行傳遞並計算一次類推,最終得到1個結果 1.reduce f...

Python 高階特性之 reduce

reduce 函式接收兩個引數,乙個是函式,乙個是序列 但傳入的這個函式必須接收兩個引數,reduce 會把這個函式運算的結果繼續和序列的下乙個元素做累積運算,相當於 reduce fun,x1,x2,x3,x4 fun fun fun x1,x2 x3 x4 例子,對序列求和 def add x,...

Python高階函式 map和reduce

map fn,lsd fn 是乙個函式,可以使自己定義的,也可以是python內建的函式 lsd 是乙個序列 功能 依次將lsd中的元素作用到fn上 屬於惰性序列通過map函式進行處理,將字串型的列表裝換稱整型列表。l 1 2 3 4 5 def func key dict1 return dict...