首页 > 其他分享 >5.手写reduce

5.手写reduce

时间:2023-10-31 09:25:44浏览次数:33  
标签:initValue arr const res sum reduce 手写

我们首先先创建一个index.js的文件在文件中定义一个数组,就像这样

const arr = [1, 2, 3, 4, 5];

const res = arr.reduce(function (sum, item) {
  return sum + item;
});

console.log(res);

使用node index.js运行这段代码,我们可以看到输出的结果是
15
现在让我们来实现自己的reduce方法吧

const arr = [1, 2, 3, 4, 5];

Array.prototype.myReduce = function (fn, initValue) {
  for (let i = 0; i < this.length; i++) {
    initValue = fn(initValue, this[i], i, this);
  }
  return initValue;
};

const res = arr.myReduce(function (sum, item) {
  return sum + item;
}, 0);

console.log(res);

标签:initValue,arr,const,res,sum,reduce,手写
From: https://www.cnblogs.com/Jannik/p/17799495.html

相关文章

  • JAVA-EE手写ThreadLocal源码实现一个线程一个连接对象------Java-Web项目
    手写ThreadLocalpackagecom.bjpowernode.ThreadLocal;importjava.util.HashMap;importjava.util.Map;publicclassMyThreadLocal<T>{privateMap<Thread,T>map=newHashMap<>();publicvoidset(To){//向threadLocal中绑定......
  • Hadoop三大组件(HDFS,MapReduce,Yarn)
    1、HDFSHDFS是Hadoop分布式文件系统。一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode管理存储的数据。2、MapReduceMapReduce是一个软件框架,基于该框架能够容易地编写......
  • 深度学习之手写数字识别
    1、安装库各位小伙伴们,大家好,今天就让我们一起来看一下使用python实现深度学习中的手写数字识别,首先咱们需要安装几个库文件,numpy库、matplotlib库和tensorflow库。可以打开命令行进行安装,也可以再PyCharm下的命令行安装,建议在PyCharm下的命令行进行安装,因为我有许多同学在cmd控制......
  • 2.手写map
    我们首先先创建一个index.js的文件在文件中定义一个数组,就像这样letarray=[10,20,30];array.map((item)=>console.log(item));使用nodeindex.js运行这段代码,我们可以看到输出的结果是102030现在让我们来实现自己的map方法吧letarray=[10,20,30];//与fo......
  • 1.手写foreach
    我们首先先创建一个index.js的文件在文件中定义一个数组,就像这样letarray=[10,20,30];array.forEach((item)=>console.log(item));使用nodeindex.js运行这段代码,我们可以看到输出的结果是102030现在让我们来实现自己的foreach方法吧letarray=[10,20,30];......
  • Python给你一个字符串,你怎么判断是不是ipv4地址?手写这段代码,并写出测试用例【杭州多测
    ipv4地址的格式:(1~255).(0 ~255).(0 ~255).(0 ~255)1.正则表达式importredefcheck_ip(one_str):compile_ip=re.compile('^(([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$')ifcompile_ip.match(one_str):......
  • Google三驾马车之二:MapReduce
    第一次接触mr还是在入门mit6.824的lab1,最近重新读了一遍原始论文,又有了一些新的想法,简单做一些记录。作为Google分布式系统的重要组成,本篇文章核心在于map/reduce操作带来的抽象并行化,给出接口之后,编写应用程序的程序员就不需要对底层的机制做过多的处理。而在本质上,mr只是实现了......
  • [11章]技术大牛成长课,从0到1带你手写一个数据库系统
    点击下载——[11章]技术大牛成长课,从0到1带你手写一个数据库系统 提取码:y31p 这是一套一步步带着大家从0开始写一个数据库系统的视频教程,2023最新录制,提供有配套的源码资料下载!无论你是数据库内核研发、DBA、还是后端研发,能够手写一套自己的数据库系统,都是你突破技术发展瓶颈的......
  • MapReduce性能优化秘籍
    1.MapReduce跑的慢的原因MapReduce程序效率的瓶颈在于两点:计算机性能CPU、内存、磁盘、网络I/O操作数据倾斜map和reduce数设置不合理map运行时间太长,导致reduce等待过久小文件过多大量的不可分块的超大文件(例:通过gzip压缩后的文件)spill(溢写)次数过多merge(map端合并......
  • MapReduce自定义GroupingComparator
    需求:有如下订单明细数据0000001 01 222.80000002 06 722.40000001 05 25.80000003 01 222.80000003 01 33.80000002 03 522.80000002 04 122.4第一列是订单编号,第二列是商品id,第三列是商品金额,列与列之间用制表符分隔。现在需要求出每一个订单中最贵的商品。思路:将订单id和商......