提升代码格调——JavaScript 数组的 reduce() 方法入门
基本概念
reduce() 方法为数组中的每一个元素依次执行回调函数(不包括数组中被删除或从未被赋值的元素),返回一个具体的结果。
语法
reduce() 接收两个参数,其基本语法为:
参数解析:
callback 执行数组中每个值的函数,包含四个参数:
previousValue 第一项的值或者上一次叠加的结果值,或者是提供的初始值(initialValue)
currentValue 数组中当前被处理的元素
index 当前元素在数组中的索引
array 数组本身
initialValue (可选) 作为第一次调用 callback 的第一个参数,可以控制返回值的格式
reduce() 方法可以使用以下这个表达式总结一下:
基本示例
我们通过下面这个例子,来直观认识一下 reduce() 的各个参数:
代码分析:
数组中的元素依次执行了回调函数。
因为给 initialValue 赋了初始值 10,所以第一次执行时, pre 的值默认从 10 开始。
每次执行时,pre 的值都是 cur 元素前的所有元素之和。
最后返回数组所有元素累加的和。
我们再看一下不传 initialValue 参数的执行结果:
可以看到,这里只执行了四次,且是从数组的第二位开始执行的,数组的第一位默认作为了 pre 的值。
实际应用
除了上面的基本应用之外,reduce() 方法还有以下应用。
计算数组中每个元素出现的次数
数组去重
对象属性求和
总结
reduce() 方法还有很多其他用途,这里只是列出了最常见的几种,剩下的还需要大家多多探索哦!
~
~
~
~本文完!
学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂!
大家好!我是〖编程三昧〗的作者 隐逸王,我的公众号是『编程三昧』,欢迎关注,希望大家多多指教!
知识与技能并重,内力和外功兼修,理论和实践两手都要抓、两手都要硬!
版权声明: 本文为 InfoQ 作者【编程三昧】的原创文章。
原文链接:【http://xie.infoq.cn/article/31f954b27e20db73211a05533】。
本文遵守【CC BY-NC-ND】协议,转载请保留原文出处及本版权声明。
评论