首页 > web前端 > js教程 > reduce的用法技巧(代码示例)

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

不言
发布: 2019-03-18 10:29:33
转载
1968 人浏览过

本篇文章给大家带来的内容是关于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中文网其他相关文章!

相关标签:
来源:segmentfault.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板