您好,欢迎来到测品娱乐。
搜索
您的当前位置:首页reduce的用法技巧(代码示例)

reduce的用法技巧(代码示例)

来源:测品娱乐


本篇文章给大家带来的内容是关于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
 },{})

Copyright © 2019- cepb.cn 版权所有 湘ICP备2022005869号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务