reduce数组的方法,有两个参数 回调函数callback 和 initialValue回调有四个参数 prev、next、index、arrinitialValue:可选参数,作为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 },{})