详解JavaScript中数组的reduce方法
来源:互联网 发布:sai mac破解版 编辑:程序博客网 时间:2024/05/22 02:18
介绍
我们先来看看这个方法的官方概述:reduce()
方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值。
你一定也和我一样看的有点迷糊,其实reduce
接收的就是一个回调函数,去调用数组里的每一项,直到数组结束。
我们来举个例子大家就很明白了。
假设我有一串数组,数组里放的全是数字,我要算出这些数字的总和是多少。正常情况下我们会循环,然后一个个加,有了reduce就不用那么麻烦了,只用一行代码。
这个方法是如何工作的呢?
reduce
接受一个函数,函数有四个参数,分别是:
1、上一次的值;
2、当前值;
3、当前值的索引;
4、数组;
我们还是以上面那个数组为例,把这几个参数打印出来看看:
得到的结果是:
分析一下这个结果,这个回调函数共调用了4次,因为第一次没有previousValue
,所以直接从数组的第二项开始,一只调用到数组结束。
reduce
还有第二个参数,我们可以把这个参数作为第一次调用callback
时的第一个参数,上面这个例子因为没有第二个参数,所以直接从数组的第二项开始,如果我们给了第二个参数为5,那么结果就是这样的:
第一次调用的previousValue
的值就用传入的第二个参数代替,函数被调用了5次,也就是数组的length
。
reduce
可以帮助我们轻松的完成很多事,除了累加,还有扁平化一个二维数组:
阅读全文
0 0
- 详解JavaScript中数组的reduce方法
- 详解JavaScript中数组的reduce方法
- 在JavaScript的ES5版本中Array数组的reduce方法详解
- javaScript--数组(Array)的reduce方法解析
- Javascript数组---map(),reduce()方法的区别
- JavaScript数组方法reduce解析
- javascript---数组array方法reduce()
- JavaScript数组map()、reduce()方法
- 一张图看懂JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
- javascript中数组的迭代方法对比:forEach()、map()、reduce()、some()、every()、filter()图解
- JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
- 一张图看懂JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
- JAVASCRIPT中数组的迭代方法:FOREACH、MAP、FILTER、REDUCE、EVERY、SOME各个说明
- JavaScript数组的高级用法-reduce和reduceRight详解
- JavaScript数组的高级用法-reduce和reduceRight详解
- JavaScript数组forEach()、map()、reduce()方法
- javaSctipt数组的reduce方法
- javascript中数组的方法
- ModelSim自动化仿真
- Ubuntu16.04+Titan X+CUDA8.0+cudnn5.1+Caffe
- 数组划分
- Spring源码解析--Spring配置文件解析BeanDefinitionParserDelegate(四)
- 如何在wicket框架下设置勾选框组checkGroup
- 详解JavaScript中数组的reduce方法
- 懒人系列——增删改查封装(一)
- android studio 导入新的工程后远程依赖修改没有效果?
- SSH物流开发系统设计:搭建框架并实现登录
- 面向对象设计原则之里氏代换原则
- 【慕课网】分页页码制作学习笔记
- hdu5781 沈阳day6训练赛
- js判断是不是空对象
- 文章标题