JavaScript 数组 reduceRight() 方法

2025年3月17日 | 阅读 3 分钟

reduceRight() 方法通过执行一个累加器函数来将给定数组的元素聚合为单个值。累加器函数对累加器进行处理,并从右到左将所有元素进行聚合。

语法

参数

callback: 这是对每个数组元素执行的回调函数。它接受以下参数:

  1. accumulator: 它累加初始值或由回调函数先前返回的值。
  2. currentValue: 它保存当前正在处理的数组元素。
  3. currentIndex: 可选参数。它保存当前正在处理的值的索引。
  4. array: 可选参数。这是元素所属的源数组。

initialValue: 这是一个可选参数,它将其提供的值作为累加器用于回调函数的初始调用。

返回

它将数组聚合为单个输出值。

注意事项

  1. 当第一次调用回调函数时,累加器和当前值可以是以下两种值之一。
  2. 当我们在函数中提供了 initialValue 时,累加器将保存 initialValue 的值,而 currentValue 将保存数组的最后一个元素。
  3. 当没有提供 initialValue 时,累加器将保存最后一个数组元素,而 currentValue 将保存倒数第二个数组元素。
  4. 当存在一个空数组且没有提供 initialValue 时,它将抛出一个称为 TypeError 的错误。
  5. 当数组只有一个元素且没有提供 initialValue,或者当数组为空但提供了 initialValue 时,将直接返回该元素,而不会调用回调函数。

JavaScript 数组 reduceRight() 方法示例

让我们通过一些例子来更好地理解。

示例 1

下面是 Array reduceRight() 方法的一个简单实现。

立即测试

输出

JavaScript Array reduceRight() Method

但是,在上例中不清楚 reduceRight() 方法是向左还是从右向左工作的。

示例 2

下面是一个展示 reduceRight() 方法工作方向的实现。

立即测试

输出

JavaScript Array reduceRight() Method

因此,从上面的输出可以清楚地看出,reduceRight() 是从右到左工作的。

尽管 reduceRight() 和 reduce() 方法都将数组元素聚合为单个值,但它们之间存在差异。reduce() 方法从左索引位置向右聚合数组元素。另一方面,reduceRight() 方法从右索引位置向左聚合数组元素。

让我们看下面的实现来更好地理解。

示例

立即测试

输出

JavaScript Array reduceRight() Method

我们可以实现更多例子来深入理解该方法的工作原理。


下一主题JavaScript 数组