首页 > 其他 > 详细

认识array method的reduce

时间:2020-09-19 14:59:08      阅读:42      评论:0      收藏:0      [点我收藏+]

前言

reduce属于JavaScript「synchronize同步」的array method,他就是把一整个array的所有内容,有顺序性的挤压squeeze最后变成一个值

 

Reduce表达式

[1,2,3,4].reduce((accumulator, currentValue) => {  
//call back要做的动作,最后变成一个值
}, initValue)
//accumulator = 积累
//for迴圈将阵列内容依序一个一个的带进来

 

Reduce 需要

  • 一个变数
  • 一个for回圈
  • 一个初始值

品牌vi设计公司http://www.maiqicn.com 办公资源网站大全https://www.wode007.com

reduce 简化版polyfill

const reduceFunc = (reducer, initVal, dataArray) => {
  let val = initVal;
  for(const i in dataArray) {
    val = reducer(val, dataArray[i]);
  }
  return val;
}
reduceFunc((acc, current) => (acc + current), 0, [1, 2, 3, 4])

以上范例是拆解reduce的工作,简单来说一开始先拿到初始值initValue,然后用for迴圈一个一个的带进去reducer(val, dataArray[i]),acc的初始值是initVal接著的每一次for迴圈acc都会是前一次结果的值,过程顺序如下:
//acc = 0, current = 1, val = 1
//acc = 1, current = 2, val = 3
//acc = 3, current = 3, val = 6
//acc = 6, current = 4, val = 10

认识array method的reduce

原文:https://www.cnblogs.com/xiaonian8/p/13696159.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!