数组Reduce

定义

reduce() 方法通过接收一个回调函数,在数组的每个元素上依次执行该回调函数,并返回最终的单一结果。这个结果可以是任何类型的数据(例如数字、对象、数组等)。

作用

reduce 可以将数组中的多个值汇总、合并或转化为一个单一的值,通常用于处理复杂的聚合或累积操作。

目的

reduce 提供了一种强大的方式来对数组进行聚合、转换、递归等操作。它比传统的循环方法更加灵活和简洁,适用于许多复杂的场景。

使用方法

reduce() 接受一个回调函数和一个可选的初始值作为参数。回调函数的执行会在数组的每个元素上进行,回调函数的签名如下:

1
2
3
4
5
6
7
8
9
10
array.reduce(function(accumulator, currentValue, currentIndex, array) {
// 返回新的累积值
}, initialValue);
/*
accumulator(累加器):存储着上一次回调函数的返回值,在第一次执行时为 initialValue(如果提供了初始值),否则为数组中的第一个元素。
currentValue(当前值):当前正在处理的数组元素。
currentIndex(可选):当前值的索引。
array(可选):原数组本身。
initialValue(可选):初始值,会作为第一次执行回调函数时的 accumulator 值。如果没有提供,默认使用数组的第一个元素。
*/