TypedArray.prototype.reduceRight()

Baseline 已广泛支持

此特性已非常成熟,可在多种设备和浏览器版本上使用。自 ⁨2016 年 9 月⁩以来,它已在各大浏览器中可用。

TypedArray 实例的 reduceRight() 方法将一个函数应用于累加器和类型化数组的每个值(从右到左),将其归约到单个值。此方法与 Array.prototype.reduceRight() 具有相同的算法。

试一试

const uint8 = new Uint8Array([10, 20, 30]);

const result = uint8.reduceRight(
  (accumulator, currentValue) => `${accumulator}, ${currentValue}`,
);

console.log(result);
// Expected output: "30, 20, 10"

语法

js
reduceRight(callbackFn)
reduceRight(callbackFn, initialValue)

参数

callbackFn

要为类型化数组中的每个元素执行的函数。它的返回值成为下一次调用 callbackFnaccumulator 参数的值。对于最后一次调用,返回值成为 reduceRight() 的返回值。该函数以以下参数调用

accumulator

前一次调用 callbackFn 的结果值。第一次调用时,如果指定了 initialValue,则其值为 initialValue;否则,其值为类型化数组的最后一个元素。

currentValue

当前元素的值。第一次调用时,如果指定了 initialValue,则其值为最后一个元素;否则,其值为倒数第二个元素。

currentIndex

类型化数组中 currentValue 的索引位置。第一次调用时,如果指定了 initialValue,则其值为 array.length - 1;否则,其值为 array.length - 2

array

调用 reduceRight() 的类型化数组。

initialValue 可选

用作 callbackFn 第一次调用的累加器的值。如果不提供初始值,将使用类型化数组的最后一个元素并跳过。在没有初始值的情况下对空类型化数组调用 reduceRight() 会创建一个 TypeError

返回值

归约产生的值。

描述

有关更多详细信息,请参阅 Array.prototype.reduceRight()。此方法不是通用的,只能在类型化数组实例上调用。

示例

对数组中的所有值进行求和

js
const total = new Uint8Array([0, 1, 2, 3]).reduceRight((a, b) => a + b);
// total === 6

规范

规范
ECMAScript® 2026 语言规范
# sec-%typedarray%.prototype.reduceright

浏览器兼容性

另见