【前端八股】手写Array.reduce函数
浏览 452 | 评论 0 | 字数 518
TTQ
2022年04月22日
  • 描述

    实现Array.reduce函数的功能且该新函数命名为"_reduce"。

    reduce() 方法对数组中的每个元素按序执行一个由您提供的 reducer 函数,每一次运行 reducer 会将先前元素的计算结果作为参数传入,最后将其结果汇总为单个返回值。

    思路

    传入一个回调函数callback和一个初始值start(可选),保存一个pre变量,向callback函数传入this(不能用箭头函数哦)中的每一个项目与pre同时更新pre,最终返回pre即可。

    代码

    Array.prototype._reduce = function (callback, start) {
      let pre;
      if (start == undefined) pre = 0;
      else pre = start;
      for (let i = 0; i < this.length; i++) {
        pre = callback(pre, this[i]);
      }
      return pre;
    };
    本文作者:TTQ
    本文链接:https://blog.ponder.fun/archives/146.html
    最后修改时间:2022-04-22 22:19:59
    本站未注明转载的文章均为原创,并采用 CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!
    评论
    与本文无关评论请发留言板。请不要水评论,谢谢。
    textsms
    支持 Markdown 语法
    email
    link
    评论列表
    暂无评论