[JavaScript]认识 array method的 reduce

前言

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

Reduce表达式

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

Reduce 需要

一个变数一个for迴圈一个初始值

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])// 10以上範例是拆解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

本範例来源摘自网路

注意

Reduce不是递迴而是for迴圈


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章