JavaScript中reduce()方法

发布时间:2016-12-19 11:46:45编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"JavaScript中reduce()方法 ",主要涉及到JavaScript中reduce()方法 方面的内容,对于JavaScript中reduce()方法 感兴趣的同学可以参考一下。

JavaScript中reduce()方法不完全指南

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终为一个值,是ES5中新增的又一个数组逐项处理方法,那reduce方法跟foreach、map等数组方法又有啥区别呢。

arr.reduce(callback[, initialValue]) — More From MDN

  • callback(一个在数组中每一项上调用的函数,接受四个函数:)
    • previousValue(上一次调用回调函数时的返回值,或者初始值)
    • currentValue(当前正在处理的数组元素)
    • currentIndex(当前正在处理的数组元素下标)
    • array(调用reduce()方法的数组)
  • initialValue(可选的初始值。作为第一次调用回调函数时传给previousValue的值)

图解参数

抛开上面晦涩难懂的语法介绍,下面我们直接上实例:

数组 arr = [1,2,3,4] 求数组的和

forEach 实现

var arr = [1,2,3,4],
sum = 0;
arr.forEach(function(e){sum += e;}); // sum = 10 just for demo

map 实现

var arr = [1,2,3,4],
sum = 0;
arr.map(function(obj){sum += obj});//return undefined array. sum = 10 just for demo

reduce实现

var arr = [1,2,3,4];
arr.reduce(function(pre,cur){return pre + cur}); // return 10

没错,reduce 专为累加这种操作而设计,为累加这类操作而设计的参数,十分方便。那么问题来了,reduce方法的参数到底有哪些用法呢?

参数分解

1. 不传initialValue值

var arr = [1,2,3];
arr.reduce(function(pre,cur,index,arr){debugger;return pre+cur});

探查Arguments数组得到:

  • 第一次debugger

  • 第二次debugger

  • 第三次debugger


上一篇:NodeJs之Path
下一篇:R语言-Kindle特价书爬榜示例 & 输出HTML小技巧(转)

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款