大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
小编给大家分享一下javascript中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 },{})
看完了这篇文章,相信你对javascript中reduce如何使用有了一定的了解,想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!