资讯专栏INFORMATION COLUMN

reduce的妙用

blastz / 3290人阅读

摘要:为数组的每一项为数组的下标为原数组如果没传第一次为数组的第一项,之后为的值。为从数组的第二项开始的每一项不受影响下划线转驼峰数组扁平化二维转一维数组转对象路由数组转对象

reduce
数组的方法,有两个参数 回调函数callbackinitialValue
回调有四个参数 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
    },{})

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/102627.html

相关文章

  • Javascript中数组方法reduce妙用之处

    摘要:数组方法中,相比等常用的迭代方法,常常被我们所忽略,今天一起来探究一下在我们实战开发当中,能有哪些妙用之处,下面从语法开始介绍。按顺序运行异步函数我们可以做的另一件事是按顺序运行而不是并行。函数返回一个对象,可以使用方法添加回调函数。 showImg(https://segmentfault.com/img/remote/1460000019423051); Javascript数组方...

    yiliang 评论0 收藏0
  • sum() 函数性能堪忧,列表降维有何良方?

    摘要:在上一篇如何给列表降维函数的妙用中,我们介绍了这个用法,还对函数做了扩展的学习。是的,函数做列表降维有奇效,但它性能堪忧,并不是最好的选择。这正是函数出于一致性考虑,而舍弃掉的实现方案。 showImg(https://segmentfault.com/img/remote/1460000019004608?w=5184&h=2916); 本文原创并首发于公众号【Python猫】,未经...

    李涛 评论0 收藏0
  • 数组reduce方法高级技巧

    摘要:我们在的第二个参数里面初始了回调函数第一个参数的类型和值,将字符串转化为数组,那么迭代的结果将是一个对象,对象的每一项值就是字符串的字母。 因为用for循环被老大鄙视之后,这几天都在偷偷摸摸的研究数组的那几个迭代方法。使用下来,感觉确实妙用无穷,仿佛自己的逼格在无形中变得高大了一点点,哈哈,上一篇文章的简单介绍确实有点糙,因此决定重新一些总结文章。 这篇文章就是专门总结reduce方法...

    yvonne 评论0 收藏0
  • 数组reduce方法高级技巧

    摘要:我们在的第二个参数里面初始了回调函数第一个参数的类型和值,将字符串转化为数组,那么迭代的结果将是一个对象,对象的每一项值就是字符串的字母。 因为用for循环被老大鄙视之后,这几天都在偷偷摸摸的研究数组的那几个迭代方法。使用下来,感觉确实妙用无穷,仿佛自己的逼格在无形中变得高大了一点点,哈哈,上一篇文章的简单介绍确实有点糙,因此决定重新一些总结文章。 这篇文章就是专门总结reduce方法...

    mudiyouyou 评论0 收藏0

发表评论

0条评论

blastz

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<