美文网首页
用Array的reduce方法实现map方法

用Array的reduce方法实现map方法

作者: Bouc | 来源:发表于2019-03-12 17:52 被阅读0次

    首先来看map的用法

    var arr = [ 1,2,3];
    var arr2 = arr.map( item => item*2)
    arr2 // [2,4,6]
    
    

    map用来返回一个新数组。遍历数组,对每一个元素进行变换后放入新数组。
    接收三个参数

    • 当前元素
    • 索引
    • 原数组

    而reduce则数组的元素通过回调函数最终转换成一个值
    接收两个参数

    • 回调函数
    • 初始值

    回调函数有四个参数

    • 累积值
    • 当前值
    • 当前索引
    • 原数组

    下面代码是reduce实现Map

    var arr = [1,2,3]
    
    var arr2 = arr.reduce( (acc,cur) => {
      cur = cur * 2
      acc.push(cur)
    },[])
    

    map返回的是新数组,所以只需要将reduce的第二个参数设为 [ ] 即可

    相关文章

      网友评论

          本文标题:用Array的reduce方法实现map方法

          本文链接:https://www.haomeiwen.com/subject/augnpqtx.html