這篇文章帶給大家的內容是關於reduce的用法技巧(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
reduce
陣列的方法,有兩個參數回呼函數callback 和 initialValue
回呼有四個參數 prev、next、index、arr
initialValue:選用參數,作為callback第一次的prev;
如果傳了initialValue:
prev第一次為initialValue,之後為return的值。
next為數組的每一項
index為數組的下標
arr為原始數組
如果沒傳initialValue:
prev第一次為數組的第一項,之後為return的值。
next為從陣列的第二項開始的每一項
index、arr不受影響
#下劃線轉駝峰
let str = "my_name_is_sxq"; let result = str.split('').reduce((p,n,i,arr)=>{ if(n=='_'){ arr[i+1] = arr[i+1].toUpperCase() return p } return p + n })
陣列扁平化
// 二维转一维 let arr = [1,2,3,[4,5],[6,7,[8,9]]]; let newarr = arr.reduce(function(prev,next){ return Array.isArray(next)?prev=prev.concat(...next):prev=prev.concat(next) },[])
陣列轉物件
// 路由数组转对象 let arr = [{path:'/',component:function(){}},{path:'/user',component:function(){}}] let result = arr.reduce((memo,current)=>{ memo[current.path] = current.component return memo },{})
以上是reduce的用法技巧(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!