数组方法reduce总结

兼容性来说: 活宝系列IE9以上可以支持,其他的就不赘述了,反正也只是用来做日记的.

reduce主要是对数组进行遍历,累计,变形的方法;

基本用法:

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

let sum = arr.reduce(p1,p2);

function p1(a,b,c,d){

    //逻辑

}

参数一是一个回调函数,依次有四个参数:

a. 是前一个量,其实简单来说就是上一次循环结束return的值,如果是第一个循环,那么就会判断,p2不为空,那么p2就会作为第一个次的a参与回调函数p1的执行;如果p2为空,那么就会判断数组arr是否是空,如果不为空,那么就会把arr的第一个元素作为a传入,作为实参参与运算;

b. 是当前元素,就是arr的第几个元素,等同于forEach的回调里的v

c. 是当前的索引

d. 是调用reduce方法的数组本身

需要注意的是如果要在下一个循环中使用a,那么就需要return一个值.

阮一峰的文章传送门:阮一峰reduce和Transduce

另一篇,也是比较详细的

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,733评论 0 13
  • Scala与Java的关系 Scala与Java的关系是非常紧密的!! 因为Scala是基于Java虚拟机,也就是...
    灯火gg阅读 8,844评论 1 24
  • 天桥的把式可不是光说不练 老北京有句俏皮话,“天桥的把式,光说不练”,意思是讽刺只会耍嘴皮子的人。这句话不光北京人...
    杨心武阅读 4,905评论 0 0
  • 今晚James 做了 件事 1.和我一起检查了数学作业。 2.背诵单词表26-30页 3.All that cor...
    Idealist_John阅读 1,445评论 0 0
  • 今天是清明,天边有一抹斜阳,映红了整个黄昏。微风吹过空旷的田野,依稀可见山沟对面袅袅升起的炊烟。在这茫茫的荒原上,...
    轩殇公子阅读 1,778评论 0 1

友情链接更多精彩内容